我有这个主要的JFrame(称之为DrinkChooser),显示另一个复杂的确认JFrame(称之为ConfirmWin)。
ConfirmWin只有两个JButton,确认并取消。
我想这样做:
(在DrinkChooser中,假设drinkChoosen是一种饮料[])
public void handleAction(){
int choice = ConfirmWin.showDrinkConfirmation(drinksChoosen);
if(choice == ConfirmWin.CONFIRM)
//Handle confirmation.
else
//handle cancel, do nothing.
}
我希望获得尽可能接近“JOptionPane效果”的效果,即原始DrinkChooser被暂停,并且ConfirmWin返回用户的选择。
感谢。
答案 0 :(得分:1)
查看路径How to Make Dialogs。
对话框窗口是一个独立的子窗口,用于在主Swing应用程序窗口之外进行临时通知。大多数对话框向用户显示错误消息或警告,但对话框可以显示图像,目录树或与管理它们的主Swing应用程序兼容的任何内容。
为方便起见,几个Swing组件类可以直接实例化和显示对话框。要创建简单的标准对话框,请使用JOptionPane类。
这是一个可能相关的问题:
答案 1 :(得分:1)
不要忘记所有value
方法的JOptionPane.showXXXX
参数都可以是JComponent
。如果您传递一个组件(在您的示例中,它可能是一个带有自定义渲染器的JList
),它将嵌入到对话框中,并可用于自定义外观。