【问题标题】:JSlider value only showing upon moving sliderJSlider 值仅在移动滑块时显示
【发布时间】:2014-04-05 17:28:15
【问题描述】:

所以我使用 JSlider 以毫米为单位显示雨量,但是一旦我移动滑块,雨量就会弹出,我希望它在我移动滑块之前出现。 这是我的程序中的代码段。

    slider = new JSlider(JSlider.HORIZONTAL, 0 ,100,0);
    slider.setBounds(70, 70,120,35);
    int sliderValue = slider.getValue();
    event e = new event();
    slider.setMajorTickSpacing(5);
    slider.setPaintTicks(true);
    slider.setBounds(120, 200, 100, 300);


public  class event implements ChangeListener{ // For Slider

    public void stateChanged(ChangeEvent e) {

        int SliderValue = slider.getValue();

        label3.setText("Rain ammount: "+SliderValue+"mm");

    }
}

【问题讨论】:

  • 您可以将您的label3 创建为label3 = new JLabel("Rain ammount: 0mm");
  • 滑块值呢?
  • 最初,滑块值为 0。因此标签上的文本必须是 Rain ammount: 0mm。当您更改滑块(使其值不再为 0)时,无论如何都会更新标签。
  • 然后雨量就消失了,它被滑块值替换..
  • 别介意现在工作谢谢!

标签: java swing jslider changelistener


【解决方案1】:

虽然不完全清楚最后一个问题是什么,但这里是来自 cmets 的答案,以便让这个问题有机会从“未回答”列表中移出:

您可能只需将您的label3 创建为

label3 = new JLabel("Rain ammount: 0mm");

最初,滑块值为 0。因此标签上的文本必须是 "Rain ammount: 0mm"。当您更改滑块(使其值不再为 0)时,无论如何都会更新标签。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多