gpt4 book ai didi

java - 为什么按钮不反射(reflect) Action 的 NAME 属性?

转载 作者:行者123 更新时间:2023-12-04 20:48:44 27 4
gpt4 key购买 nike

我想按钮在下面的代码中应该有“关闭”标题,但它没有:

public class Test_Actions extends JDialog 
{
private AbstractAction closeAction = new AbstractAction()
{
{
putValue("NAME", "Close");
}

@Override
public void actionPerformed(ActionEvent arg0)
{
Test_Actions.this.setVisible(false);
Test_Actions.this.dispatchEvent(new WindowEvent(Test_Actions.this, WindowEvent.WINDOW_CLOSING));
}
};

public Test_Actions()
{
JLabel label = new JLabel("Hello world");

JButton button = new JButton(closeAction);
//button.setText("Text");

setLayout(new BorderLayout());
add(label, BorderLayout.CENTER);
add(button, BorderLayout.SOUTH);

setDefaultCloseOperation(DISPOSE_ON_CLOSE);

}

public static void main(String[] args) throws InterruptedException, InvocationTargetException
{
final Test_Actions dialog = new Test_Actions();
dialog.setModal(true);

SwingUtilities.invokeAndWait(new Runnable()
{
@Override
public void run()
{
dialog.pack();
dialog.setVisible(true);
}
});

System.out.println("Here");
}
}

最佳答案

使用 Action.NAME 而不是 "NAME"

value of this constant实际上是 "Name",所以您也可以使用它,但如您所见,它很容易弄错。

关于java - 为什么按钮不反射(reflect) Action 的 NAME 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9850319/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com