- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否有人有创建 JOptionPane
(例如 YES_NO_OPTION
对话框)并将默认值更改为“NO”同时保留键盘快捷键的经验?我使用对象数组来填充 {"YES", "NO"}
的选项,然后在 JOptionPane.showOptionDialog
参数中传入这些选项。这可以更改按钮的焦点,但会删除按钮的键盘快捷键。是否有办法在更改焦点的同时保留键盘快捷键?这不是如何默认为“NO”的问题,而是如何维护键盘快捷键的问题。问题“如何使 JOptionPane.showConfirmDialog 默认情况下没有选择?”在询问焦点时,没有人回答如何维护键盘快捷键。这是代码片段...
Object[] options = {"YES", "NO"};
int choice = JOptionPane.showOptionDialog(null, "Please choose yes/no", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE, null, options, options[1]);
最佳答案
我认为没有任何“简单”的方法可以做到这一点。相反,您可能必须提供自己的按钮。
所以基于JOptionPane Passing Custom Buttons和 Disable ok button on JOptionPane.dialog until user gives an input ,例如,您可以按照您想要的方式提供自己的 JButton
预配置
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Action;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JOptionPane;
public class Test {
public static void main(String[] args) {
JButton btnYes = new JButton("Yes");
btnYes.setMnemonic('s');
btnYes.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane pane = getOptionPane((JComponent)e.getSource());
pane.setValue(JOptionPane.YES_OPTION);
}
});
JButton btnNo = new JButton("No");
btnNo.setMnemonic('o');
btnNo.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane pane = getOptionPane((JComponent)e.getSource());
pane.setValue(JOptionPane.NO_OPTION);
}
});
JButton[] options = new JButton[] {btnYes, btnNo};
JOptionPane.showOptionDialog(
null,
"Help",
"More",
JOptionPane.YES_NO_OPTION,
JOptionPane.WARNING_MESSAGE,
null, options, btnYes);
}
protected static JOptionPane getOptionPane(JComponent parent) {
JOptionPane pane = null;
if (!(parent instanceof JOptionPane)) {
pane = getOptionPane((JComponent)parent.getParent());
} else {
pane = (JOptionPane) parent;
}
return pane;
}
}
关于java - 在保留键盘快捷键的同时更改 JOptionPane.YES_NO_OPTION 的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43053143/
我在使用一个非常基础的初级 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 值。 这是
我是一名优秀的程序员,十分优秀!