2011-01-30 78 views
1

我有这个显示另一个复杂的确认JFrame(称为ConfirmWin)的主JFrame(称为DrinkChooser)。同步呈现JFrame

ConfirmWin只有两个JButton,确认并取消。

我想这样做:

(在DrinkChooser,假设drinksChoosen是一种饮料[])

public void handleAction(){ 
int choice = ConfirmWin.showDrinkConfirmation(drinksChoosen); 

if(choice == ConfirmWin.CONFIRM) 
//Handle confirmation. 
else 
//handle cancel, do nothing. 
} 

我要做到这一点是尽可能接近的“JOptionPane的效果的效果“,这是原来的DrinkChooser被暂停,ConfirmWin返回用户的选择。

谢谢。

回答

1

看看线索How to Make Dialogs

对话框窗口是一个独立的子窗口,除了主Swing应用程序窗口之外,它还包含临时通知。大多数对话框会向用户显示错误消息或警告,但对话框可以显示图像,目录树或任何与管理它们的主Swing应用程序兼容的任何东西。

为了方便起见,几个Swing组件类可以直接实例化和显示对话框。要创建简单的标准对话框,可以使用JOptionPane类。

这里是一个可能相关的问题:

+0

太棒了,这非常有用。谢谢=) – Mazyod 2011-01-30 12:30:28

1

不要忘了,所有JOptionPane.showXXXX方法value参数可以是JComponent。如果你传递一个组件(在你的例子中它可能是一个带有自定义渲染器的JList),它将被嵌入到对话框中,并可用于定制外观。