我有一个JLabel
和一个按钮,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();
}
}
编辑使代码的可读性。 – 2011-12-13 22:23:21
谢谢,我以前没有注意到会员...... :) – DejanLekic 2011-12-13 22:24:17