sendButton = new JButton("Send");
sendButton.addActionListener(this);
sendButton.setActionCommand("SEND");
getRootPane().setDefaultButton(sendButton);
setDefaultButton
做什么?我尝试将sendButton
添加为默认按钮。
答案 0 :(得分:1)
来自Oracle API:
默认按钮是当根窗格中出现UI定义的激活事件(通常是Enter键)时将激活的按钮,无论该按钮是否具有键盘焦点(除非根目录中有另一个组件)使用激活事件的窗格,例如JTextPane。
换句话说,它是默认激活的按钮,例如在“是否要删除此文件?[是] / [否]”对话框中,将[否]设置为默认按钮是明智的,以避免发生灾难性错误。
请注意,将其设置为默认值并不意味着将添加到面板。它应该已经添加,否则将其设置为默认值是没有意义的:
要启用默认激活,激活发生时,该按钮必须是启用了根窗格的后代。
也就是说,如果你没有将它添加到面板中,它甚至都不会显示出来,所以只有在此之后才能将其设置为默认值。
你应该有一个JPanel或类似的东西(不一定是rootPane),比如panel
,在调用panel.add(sendButton)
之前,应该通过getRootPane().setDefaultButton(sendButton)
添加按钮。顺便说一下,这是严格可选的。