java – 如何动态更改JLabel
发布时间:2020-05-25 00:39:01 所属栏目:Java 来源:互联网
导读:我有一个JLabel和一个按钮,JLabel显示按下按钮的次数,但是,我无法计算如何更新显示按钮按下次数的JLabel. import java.awt.event.*;import java.awt.*;import javax.swing.*;public class SimpleGui { private JFrame f = new JFrame(Basic GUI);
|
我有一个JLabel和一个按钮,JLabel显示按下按钮的次数,但是,我无法计算如何更新显示按钮按下次数的JLabel. import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class SimpleGui {
private JFrame f = new JFrame("Basic GUI"); // create Frame
int pressed = 0; // tracks number of button presses.
JLabel label1 = new JLabel("You have pressed button " + pressed + "times.");
private JButton start = new JButton("Click To Start!");
public SimpleGui() {
// Setup Main Frame
f.getContentPane().setLayout(new GridLayout(0,1));
start.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
calculate();
}
});
// Add components
f.add(label1);
f.add(start);
// Allows the Swing App to be closed
f.addWindowListener(new ListenCloseWdw());
}
public class ListenMenuQuit implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}
public class ListenCloseWdw extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
public void launchFrame() {
// Display Frame
f.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
f.pack(); // Adjusts panel to components for display
f.setVisible(true);
}
public static void main(String args[]) {
PrimeTime gui = new PrimeTime();
gui.launchFrame();
}
public void calculate() {
pressed++;
label1 = new JLabel("You have pressed button " + pressed + "times.");
// update the GUI with new jLabel
f.repaint();
}
}
解决方法问题是您正在创建一个未在面板中显示的新的不同JLabel.做 public void calculate(){
pressed++;
this.label1.setText("You have pressed button " + pressed + "times.");
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
