相关疑难解决方法(0)

Java - 更新在Swing中创建的GUI

我正在尝试创建一个只有2个元素的简单GUI表单 - 一个简单的标签和一个按钮.按钮上显示的文字是"开始".标签默认显示为0.

当我单击"开始"按钮时,将执行以下操作:

  1. 计数器应每1秒从0开始递增1.
  2. "开始"按钮上显示的文本将更改为"停止".
  3. 当我再次点击相同的按钮(现在显示标题为停止)时,增量将停止.
  4. 按钮上的文本将更改为"开始".等等...

我正在Netbeans中开发我的应用程序.

如上图所示,有2个.java文件

AGC.java的内容是:

public class AGC extends javax.swing.JFrame 
{
    public AGC()
    {    
        initComponents();
    }

    public static void main(String args[])
    {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() 
            {
                new AGC().setVisible(true);
            }
        });
    }

    private javax.swing.JButton btnStartStop;  // name of start stop button
    private javax.swing.JLabel lblCounter;   // name of the label

}
Run Code Online (Sandbox Code Playgroud)

Main.java的内容是:

public class Main 
{
    public static int count = 0;
    public static boolean started = false;
}
Run Code Online (Sandbox Code Playgroud)

我想实现以下逻辑:

private void btnStartStopMouseClicked(java.awt.event.MouseEvent …
Run Code Online (Sandbox Code Playgroud)

java user-interface swing netbeans

3
推荐指数
1
解决办法
2721
查看次数

没有从JSlider获得价值

我在我的程序中使用了一个JSlider,并为它实现了一个ChangeListener.

public void stateChanged(ChangeEvent e)
    {
        JSlider source=(JSlider) e.getSource();
        frame_value.setText(Integer.toString(source.getValue()));

        //Condition to change the frame_no only when user has stopped moving the slider
        if (!source.getValueIsAdjusting()) 
        {
            frame_no=(int) source.getValue()-1;
            if(frame_no<0)
                frame_no=0;
        }
        ....
}
Run Code Online (Sandbox Code Playgroud)

发生的事情是,无论何时调用ChangeListener,程序都会跳过if块,然后转到代码.我不明白为什么会这样.我无法从JSlider获得正确的值.请帮忙!!

PS:我不知道这是不是这个原因,但是最近我设置了JSlider的用户界面来点击它.我不知道是否应该对此负责.这是代码:

slider.setUI(new MetalSliderUI() {
                protected void scrollDueToClickInTrack(int direction) {
                    int value = HEVC_Analyzer.slider.getValue(); 

                   value = this.valueForXPosition(HEVC_Analyzer.slider.getMousePosition().x);
                   HEVC_Analyzer.slider.setValue(value);
                }
            });
Run Code Online (Sandbox Code Playgroud)

java swing jslider changelistener

1
推荐指数
1
解决办法
4889
查看次数

标签 统计

java ×2

swing ×2

changelistener ×1

jslider ×1

netbeans ×1

user-interface ×1