swingで押されたボタンの履歴を表示したい
以下のコードに "Botton 5"
を追加するとして、Botton5
を押した時、今までどのボタンを押したか履歴が表示されるようにするにはどう書き加えればよいでしょうか。
import javax.swing.*;
import java.awt.event.*;
import java.awt.BorderLayout;
public class SwingTest extends JFrame implements ActionListener{
JLabel label;
public static void main(String[] args){
SwingTest test = new SwingTest("SwingTest");
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
test.setVisible(true);
}
SwingTest(String title){
setTitle(title);
setBounds( 10, 10, 300, 200);
label = new JLabel("");
label.setHorizontalAlignment(JLabel.CENTER);
JButton btn1 = new JButton("Button 1");
btn1.addActionListener(this);
btn1.setActionCommand("Button 1");
JButton btn2 = new JButton("Button 2");
btn2.addActionListener(this);
btn2.setActionCommand("Button 2");
JButton btn3 = new JButton("Button 3");
btn3.addActionListener(this);
btn3.setActionCommand("Button 3");
JButton btn4 = new JButton("Button 4");
btn4.addActionListener(this);
btn4.setActionCommand("Button 4");
JPanel p = new JPanel();
p.add(btn1);
p.add(btn2);
p.add(btn3);
p.add(btn4);
getContentPane().add(p, BorderLayout.CENTER);
getContentPane().add(label, BorderLayout.PAGE_END);
}
public void actionPerformed(ActionEvent e){
String cmd = e.getActionCommand();
if (cmd.equals("Button 1")){
label.setText("open");
}else if (cmd.equals("Button 2")){
label.setText("print");
}else if (cmd.equals("Button 3")){
label.setText("rename");
}else if (cmd.equals("Button 4")){
label.setText("move");
}
}
}