【问题标题】:Formatting location of buttons within JOptionPaneJOptionPane 中按钮的格式化位置
【发布时间】:2017-12-08 07:49:46
【问题描述】:

我正在尝试格式化 JOptionPane 中按钮的位置。现在它们是并排的,但我想把它们放在一起。

我尝试进行全局配置,但没有成功。我将如何实现这一目标?

Object[] options = { "Restart Game at Level 1",
                    "Restart and Increase Difficulty (Speed)",
                    "Change Game Map", "Exit Game" };
            int n = JOptionPane.showOptionDialog(gamePanel,
                    "GAME OVER - YouHit a Wall and Died! ",
                    "Game Over!", JOptionPane.YES_NO_CANCEL_OPTION,
                    JOptionPane.WARNING_MESSAGE, null, options, options[3]);

【问题讨论】:

  • 选项窗格是一个很棒的实用程序组件,当您可以完全按原样使用它时。对于更复杂的事情,请使用JDialog

标签: java swing format joptionpane


【解决方案1】:

有一种方法,但我不推荐它,因为它假设 JOptionPane 的内部实现。有两件事要做:

  1. 直接使用构造函数创建 JOptionPane 以获取对它的引用
  2. 更改包含选项的内部组件的布局(其中 在位置 1)

    JOptionPane op = new JOptionPane("GAME OVER - YouHit a Wall and Died! ");
    op.setOptions(options );
    ((Container)op.getComponent(1)).setLayout(new GridLayout(4, 1));
    JDialog dlg = op.createDialog("Game Over!");
    dlg.setVisible(true);
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-24
    • 2012-12-17
    • 1970-01-01
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-29
    相关资源
    最近更新 更多