【问题标题】:How do I create a JOptionPane.showOptionDialog box in Java (Swing) with custom JButtons?如何使用自定义 JButton 在 Java (Swing) 中创建 JOptionPane.showOptionDialog 框?
【发布时间】:2012-06-21 19:36:41
【问题描述】:

在阅读了所有 Dialog 教程一段时间后,似乎没有明显的方法可以做到这一点。最接近的好像是JOptionPane.showOptionDialog,但我这里受限于optionType参数。

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

更简洁地说——问题是,我如何覆盖JOptionPane.showOptionDialog(args) 来获得我正在寻找的按钮自定义?还是我什至需要这样做?

请,谢谢! -B。

【问题讨论】:

  • 如果三个选项都不够,您可能需要重新考虑这种方法。三按钮对话框已经让大多数用户感到非常困惑,任何额外的按钮都不太可能缓解这种情况。如果用户需要做出如此复杂的选择,那么可能允许他们分多个步骤进行选择。或者,您可能只想删除一个或两个选项(尤其是当它们影响较小或不太可能成为常见选择时。)

标签: java swing jbutton jdialog joptionpane


【解决方案1】:

这个 Java 文档应该可以帮助您创建自己的对话框,或自定义现有的对话框:How To Make Dialogs,如果这不是您想要的,那么可能创建一个JDialog,添加必要的组件和按钮并使其可见就可以了技巧:)

【讨论】:

  • @Billy M. JRadiobuttons 在 ButtonGroup 或更好的可以是 JComboBox
  • @David Kroukamp,谢谢大卫,尽管我不需要彻底改变对话的工作方式。我只需要在框中的每个按钮上添加一个翻转图标。
  • @BillyM。 :“我不需要彻底改变对话框的工作方式。”JDialog 就是这样工作的,对于您使用JOptionPane 无法获得的附加功能,您可以使用JDialog,这样很容易:-)
  • showOptionDialog 非常有限。您将需要使用 JDialog 类
猜你喜欢
  • 2010-09-05
  • 2012-01-04
  • 2011-08-10
  • 1970-01-01
  • 1970-01-01
  • 2016-08-28
  • 1970-01-01
  • 2011-07-19
  • 2012-02-24
相关资源
最近更新 更多