Java 如何使用选项框中的按钮操作事件关闭Joptionpane showOptionDialog
我在joption窗格中创建了自己的按钮,因为我需要为按钮上色并禁用其中一个按钮以实现我的功能。当我单击其他已启用的按钮时,joption窗格不会关闭,在此我需要单击对话框的交叉按钮以关闭此按钮 有人能告诉我如何在按钮操作事件时关闭Joption窗格吗Java 如何使用选项框中的按钮操作事件关闭Joptionpane showOptionDialog,java,Java,我在joption窗格中创建了自己的按钮,因为我需要为按钮上色并禁用其中一个按钮以实现我的功能。当我单击其他已启用的按钮时,joption窗格不会关闭,在此我需要单击对话框的交叉按钮以关闭此按钮 有人能告诉我如何在按钮操作事件时关闭Joption窗格吗 JFrame frame = new JFrame(); JButton jb = new JButton(" Yes "); jb.setBackground(Color.RED); jb.set
JFrame frame = new JFrame();
JButton jb = new JButton(" Yes ");
jb.setBackground(Color.RED);
jb.setEnabled(false);
JButton jb1 = new JButton(" No ");
jb1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("No action");
}
});
Object[] options = { jb, jb1 };
JTextArea area = new JTextArea(" *Note : some message !");
area.setForeground(Color.red);
int n = JOptionPane.showOptionDialog(frame, area, " Alert ", JOptionPane.YES_NO_OPTION,
JOptionPane.INFORMATION_MESSAGE, null,options,options[0]);
单击时,无需关闭按钮选项窗格对话框。在侦听器中,您可以执行以下操作:
jb1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Window w = SwingUtilities.getWindowAncestor(jb1);
w.setVisible(false);
}
}
太好了@西蒙尼感谢你的帮助,它如预期般工作。