- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
基本上,我有一个游戏,当发生某些事情时会调出 JOptionPane,我希望能够在用户单击"is"时返回游戏。有点像取消暂停功能
最佳答案
注意:当我发布这个答案时,问题完全不同 - 请阅读评论。
由于 OpenJDK 是开源的(GNU 通用公共(public)许可证版本 2),因此您可以查看其源代码。我通常在 grepcode.com 上浏览 Java 源代码。如果您安装 OracleJDK 并选择安装源代码,您还可以在 JDK 安装目录 (src.zip) 中找到大部分源代码。请注意,该许可证可能不允许您自己重用此代码(通常是相同的)(但它肯定比使用反编译器要好得多)。
这些指向特定方法的链接在我最喜欢的浏览器(Vivaldi,基于 Chrome)中不起作用。如果您不想自己寻找具体方法,我建议您使用Firefox。
以下是来自 grepcode.com 的相关片段:
JOptionPane (constructor) - 每个 show...Dialog
方法都会调用此方法:
1830 public JOptionPane(Object message, int messageType, int optionType,
1831 Icon icon, Object[] options, Object initialValue) {
...
1838 setOptionType(optionType);
...
1841 updateUI();
1842 }
1877 public void updateUI() {
1878 setUI((OptionPaneUI)UIManager.getUI(this));
1879 }
在这里我们看到,JOptionPane
从 UIManager
请求 OptionPaneUI
。 OptionPaneUI
是一个抽象类(看起来更像是一个接口(interface)),因此您在那里找不到任何代码。它唯一的子类是BasicOptionPaneUI
或MultiOptionPaneUI
。使用调试器,我发现它是 showConfirmDialog
的 BasicOptionPaneUI
。然后,结果被传递到继承自 JComponent
的 setUI
方法中。除了一些基本的字段检查之外,它还调用 ui.installUI方法:
137 public void installUI(JComponent c) {
138 optionPane = (JOptionPane)c;
139 installDefaults();
140 optionPane.setLayout(createLayoutManager());
141 installComponents();
142 installListeners();
143 installKeyboardActions();
144 }
让我们看看installComponents下一页:
171 protected void More ...installComponents() {
172 optionPane.add(createMessageArea());
173
174 Container separator = createSeparator();
175 if (separator != null) {
176 optionPane.add(separator);
177 }
178 optionPane.add(createButtonArea());
179 optionPane.applyComponentOrientation(optionPane.getComponentOrientation());
180 }
createButtonArea听起来很有希望:
613 protected Container createButtonArea() {
614 JPanel bottom = new JPanel();
...
630 addButtonComponents(bottom, getButtons(), getInitialValueIndex());
631 return bottom;
632 }
此方法现在调用 addButtonComponents 。此方法太长,无法在此处复制,但简而言之,它获取按钮的特定于区域设置的字符串并将它们添加为 JButton s。然后它给每个人一个 ButtonActionListener .
关于java - YES_NO_OPTION JOptionPane 继续 'yes' 上的 java 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42614275/
我在使用一个非常基础的初级 Java 程序时遇到了一些问题。我有一个函数,它应该根据用户对 JOptionPane YES_NO_OPTION 消息框的响应返回一个值。该程序运行良好,直到您看到重新开
所以我有代码 import javax.swing.JOptionPane; import javafx.application.Application; public abstract class
这是我的问题,我试图让这段代码正常工作,以便在我的 GUI 中,当我单击"is"时,会添加产品(该段代码仍有待开发)并且 addproductwindow 关闭,但当单击 no 时,JOptionPa
开发一个 swing 应用程序,如果用户单击 JoptionPane.showConfirmDialog 上的 No 按钮,我需要将用户重定向到另一个 JFrame。我写了这段代码: private
我编写了一个程序来识别字符串的平方、平方根、数字的立方和反转,但我有一些错误,我不知道如何解决这个问题。 下面是我的代码 import javax.swing.JOptionPane;
是否有人有创建 JOptionPane(例如 YES_NO_OPTION 对话框)并将默认值更改为“NO”同时保留键盘快捷键的经验?我使用对象数组来填充 {"YES", "NO"} 的选项,然后在 J
基本上,我有一个游戏,当发生某些事情时会调出 JOptionPane,我希望能够在用户单击"is"时返回游戏。有点像取消暂停功能 最佳答案 注意:当我发布这个答案时,问题完全不同 - 请阅读评论。 由
我在四个单独的对话框中有一系列四个是/否选择,其累积结果将导致十二个单独链接之一(例如,是/是/是/否 -> 链接 A,是/否/否/是 -> 链接 B,等等)。分支逻辑使用 boolean 值。 这是
我是一名优秀的程序员,十分优秀!