我需要使用JTextField和两个RadioButton做一个JOptionPane(或类似的东西),但我不知道这是否可行。我有一个带有不同选项的主框架,当我点击“Operacion”时,我应该调用对话框。我该如何进行该对话?
答案 0 :(得分:4)
文本字段和两个单选按钮应该足够小以适应JOptionPane,所以也许最好继续使用它。
将带有两个单选按钮的JTextField添加到JPanel,并将该JPanel添加为JOptionPane中显示的组件。可能想要使用只显示“确定”的选项窗格,其中一个单选按钮已被选中。
为了安全起见,您可能希望将该JPanel包装在JScrollPane中,因为我认为JOptionPanes不会重新调整大小,并且取决于用户是否通过命令行选项或可访问性设置更改外观,那么您可能会切断了一些GUI组件。
答案 1 :(得分:2)
就个人而言,我不喜欢使用JOptionPane。沿着使用JDialog的道路前进。
可以这么简单:
JPanel innerPanel = new JPanel(new FlowLayout());
// Add components and listeners here
JDialog dialog = new JDialog();
dialog.add(innerPanel);
dialog.setModal(true);
dialog.pack();
dialog.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
dialog.setVisible(true);
dialog.addWindowListener(new WindowAdapter()
{
@Override
public void windowClosing (WindowEvent e)
{
super.windowClosing(e);
}
});