当这些值发生变化时,我的JSlider上的标签表不会根据滑块的最小值和最大值进行更新.最小/最大值会正确更新,因为getMinimum()和getMaximum()方法返回正确的值.滑块下方的自动标签显示不正确的值.
以下是此问题的独立示例.代码主要由Eclipse窗口构建器/ Swing设计器自动生成.
按滑块两侧的按钮可更改滑块最大值.
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JSlider;
import javax.swing.JLabel;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class SliderTrouble implements ActionListener
{
private JFrame frame;
private JSlider slider;
private JLabel lblMin;
private JLabel lblMax;
private JLabel lblCurrent;
private int sliderMax = 100;
private int sliderMajorSpacing = sliderMax / 4;
/**
* Launch the application.
*/
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
try
{ …Run Code Online (Sandbox Code Playgroud)