AbstractActionの名前を変更する
putValueのキーにAction.NAMEを指定する。
import java.awt.FlowLayout; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.SwingUtilities; public class Hoge { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { AbstractAction a = new AbstractAction("hoge") { public void actionPerformed(ActionEvent e) { putValue(Action.NAME, "foo"); } }; JButton b = new JButton(a); JButton c = new JButton(a); JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setLayout(new FlowLayout()); f.add(b); f.add(c); f.pack(); f.setVisible(true); } }); } }
どっちのボタンを押しても両方の文字が変わる。