2012-06-21 41 views
2

在阅读完所有对话教程一段时间后,似乎没有明显的方法来做到这一点。最接近的东西似乎是JOptionPane.showOptionDialog,但我受限于这里的optionType参数。如何使用自定义JButton在Java(Swing)中创建JOptionPane.showOptionDialog框?

编辑:我想通了这个问题,但有一个新的。看起来在showOptionDialog中指定的options参数需要相当简单的对象(字符串或只是“对象”,而不是JButton等)。我试图在这里放置一个由工厂自定义创建的JButton的数组,因为它们有一个我想要使用的特殊的滚动图标。然而,会发生什么,点击这些按钮中的任何一个都不会导致对话框关闭(因此,对话框中的执行继续阻止)。所以我在标题中更新了我的问题。

放得更简洁 - 问题是,如何覆盖JOptionPane.showOptionDialog(args)以获得我正在寻找的按钮定制?或者我甚至需要这样做?

请和谢谢! -B。

+1

如果三种选择不足,您可能需要重新考虑这种方法。三键对话框对大多数用户来说已经非常混乱,并且任何其他按钮都不可能缓解这种情况。如果用户需要做出复杂的选择,那么也许允许他们分多个步骤完成。或者,您可能想要删除一个或两个选项(尤其是如果它们影响较小,或者不太可能成为常用选项)。 – dlev

回答

7

此Java文档可帮助您创建您自己的对话框,或者定制现有:How To Make Dialogs,如果那不是你想那么也许创建JDialog,添加必要的组件和按钮使其可见会做的伎俩什么:)

+2

@Billy M.在ButtonGroup或更高版本中的JRadiobuttons可能是JComboBox – mKorbel

+0

@David Kroukamp ,感谢David,尽管我不需要彻底改变对话框的工作方式。我只需要为框中的每个按钮添加翻转图标。 –

+1

@BillyM。 :**“我不需要彻底改变对话框的工作方式。”**,'JDialog'就是这样工作的,对于使用'JOptionPane'不能达到的附加功能,您可以使用'JDialog' ,这很容易:-) –