มีแถบเลื่อนและป้ายกำกับในฉากของฉัน ฉันได้เขียนวิธีการที่ไม่ระบุตัวตนซึ่งจะตั้งค่าข้อความของป้ายกำกับตามค่าของแถบเลื่อน จากนั้นวางไว้ใต้ปุ่มลากของแถบเลื่อนโดยตรง
timeSlider.valueProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
final double timeSliderMin = timeSlider.getMin();
timeLabel.setText(String.valueOf(newValue.intValue()));
timeLabel.setLayoutX(timeSlider.getLayoutX() + (timeSlider.getValue() - timeSliderMin)
/ (timeSlider.getMax() - timeSliderMin) * timeSlider.getWidth());
}
});
ในบริบทนี้ timeSlider คือแถบเลื่อนและ timeLabel คือป้ายกำกับที่ฉันอ้างถึงก่อนหน้านี้
นี่คือรูปภาพการจัดแนวที่ไม่ตรงของป้ายกำกับที่เกี่ยวข้องกับแถบเลื่อน:
รูปภาพด้านบนแสดงให้เห็นว่าเมื่อแถบเลื่อนอยู่ที่ค่าต่ำสุด ป้ายจะอยู่ด้านล่างโดยตรง
อย่างไรก็ตาม เมื่อแถบเลื่อนอยู่ที่ค่าสูงสุด ป้ายกำกับจะไม่สอดคล้องกับแถบเลื่อนอย่างเหมาะสมด้วยซ้ำ
ฉันขอขอบคุณสำหรับข้อมูลเชิงลึกเกี่ยวกับสิ่งที่ฉันอาจทำผิดเพื่อให้สิ่งนี้เกิดขึ้น
ขอบคุณมาก.