importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassPushCounter{publicstaticvoidmain(String[]args){JFrameframe=newJFrame("PUSHcounter");frame.setDefaul...
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class PushCounter
{
public static void main(String[] args)
{
JFrame frame = new JFrame("PUSH counter");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
PushCounterPanel panel = new PushCounterPanel(); //调用不了PushCounterPanel的构造函数
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);
}
public class PushCounterPanel extends JPanel
{
private int counter;
private JButton push;
private JLabel label;
public PushCounterPanel()
{
counter = 0;
push = new JButton("PUSH ME!");
push.addActionListener (new ButtonListener());
label = new JLabel("Pushes;" + counter);
add (push);
add (label);
setPreferredSize (new Dimension(300, 40));
setBackground (Color.cyan);
}
private class ButtonListener implements ActionListener
{
public void actionPerformed (ActionEvent enent)
{
counter ++;
label.setText("Pusher: " + counter);
}
}
}
}
展开