- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为我的程序创建一个 GUI。这个特定的 GUI 使用带有 showOptionDialog 的 JOptionsPane。我在 OptionsPane 中添加了一个面板,它有一些 Action 监听器以及两个列表和一些其他东西,但这对于这个问题来说真的无关紧要。
很简单,我希望我的 showOptionDialog 在用户单击“取消”按钮时执行某些操作。 (它基本上会结束程序,但必须以某种方式完成)。现在,当用户单击“取消”时,程序继续运行,就好像用户刚刚结束该对话框但未采取任何操作一样。如果他们单击取消,我将尝试更改一个变量,这将阻止程序的其余部分运行。我用 System.out.println 进行了测试,看看我的值是否真的被改变了,我发现这个步骤根本没有发生。所以我想根据这段代码知道我做错了什么。当用户单击取消时,我需要做什么才能使代码正确运行?
我没有更多的代码可以显示,因为我的程序非常大,我不可能隔离这种情况。
在此先感谢您的帮助!
public static void displayGUI(){
int result = JOptionPane.showOptionDialog(null, getPanel(),"JOptionPane Example : ", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE, null, new String[]{"Confirm","Create Return"}, "default");
if(result == JOptionPane.CANCEL_OPTION){
initialScreenDecisions="NONE";
MainWriter.finishedCounter=true;
System.out.println(MainWriter.finishedCounter);
while(MainWriter.entryDetails.size()>0){
MainWriter.entryDetails.remove(0);
}
while(output.size()>0){
output.remove(0);
}
}
}
*这部分代码不会被执行,即使用户选择了取消:
if(result == JOptionPane.CANCEL_OPTION){
initialScreenDecisions="NONE";
MainWriter.finishedCounter=true;
System.out.println(MainWriter.finishedCounter);
while(MainWriter.entryDetails.size()>0){
MainWriter.entryDetails.remove(0);
}
while(output.size()>0){
output.remove(0);
}
}
最佳答案
来自你的问题:*这部分代码不会被执行,即使用户选择了取消:
尝试从 JOptionPane.showOptionDialog()
返回的 integer
值。如果选择 OK
,则返回 0
;如果选择 Cancel
,则返回 1
。
按如下方式修改您的代码
:
if(result == 1){
initialScreenDecisions="NONE";
MainWriter.finishedCounter=true;
System.out.println(MainWriter.finishedCounter);
while(MainWriter.entryDetails.size()>0){
MainWriter.entryDetails.remove(0);
}
while(output.size()>0){
output.remove(0);
}
}
如果这对您没有帮助,请告诉我!!!
关于java - ShowOptionDialog 取消选项不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34002663/
我在选项 Pane 中创建了自己的按钮,因为我需要为按钮着色并禁用其中一个按钮以实现我的功能。当我单击其他启用的按钮时,选项 Pane 不会关闭,这里我需要单击十字按钮关闭该对话框。 谁能告诉我如何在
我有一台工作笔记本电脑,连接了两台显示器。我通常在监视器二(这是一个外部监视器)上运行我的应用程序。 在我的应用程序中,我正在调用 JOptionPane.showOptionDialog,但问题是该
我正在尝试为我的程序创建一个 GUI。这个特定的 GUI 使用带有 showOptionDialog 的 JOptionsPane。我在 OptionsPane 中添加了一个面板,它有一些 Actio
我想使用 JOptionPane 创建一个 showOptionDialog,它有两个按钮:公制和英制。 如果说,Metric 被点击,Metric GUI 将加载。相反,如果单击 Imperial,
String[] enrollment = {"first Value", "second value"} int enroll = JOptionPane.showOptionDialog(null
所以它工作正常,但有点困惑我想删除 JOptionPane.showOptionDialog 并简单地添加 2 个按钮,这样代码中就不会那么困惑.............. 我尝试过使用 JButto
这个问题不太可能对任何 future 的访客有帮助;它只与一个较小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于全世界的互联网受众。如需帮助使此问题更广泛适用,visit the
我目前在程序中使用带有五个按钮的自定义 showOptionDialog。这些按钮中的每一个都“连接”到“if”语句。通常,我会使用这样的东西: if (a == JOptionPane.YES_O
我在大学里上过几门 Java 编程类(class),但已经有几年了,所以我很生疏。我决定向我的兄弟请教一项编程任务。他让我写一个程序来测试他在口袋妖怪游戏中元素类型的有效性。该代码大部分工作,但由于某
以下代码显示了预期的对话框,但没有按钮: final JPasswordField passwdField = new JPasswordField(); passwdField.setCol
我得到了以下java代码 Icon icoR = new ImageIcon("src/resources/Republica.png"); Icon icoI = new ImageIcon("
我想以垂直方式表示我的按钮,这是我的代码: 这些是我的按钮标签代码: String[] choices = {"31", "63", "127", "255", "511", "1023", "204
是否可以在JOptionPane.showOptionDialog()中启用最小化选项如果可以,我们如何设置它? 最佳答案 JOptionPane 使用 JDialog 来显示。不幸的是,JDialo
在我的应用程序中,当用户提供输入时需要频繁显示 JOptionPane.showOptionDialog。 有时它不会显示,而是等待用户输入并挂起。 这里我附上了示例代码以重现相同的内容。 impor
我使用 JOptionPane.showOptionDialog 方法在 Java swing 中创建了一个选项对话框。该对话框包含不同的按钮,其中有一个“取消”按钮。我想将一个监听器方法附加到此“取
好的,事情就这样了。目前,我正在使用这个: String[] choices = {"Rock", "Paper", "Scissors"}; String input = (String) JO
我是第一次在 JavaFX 项目上工作,这是我的问题: 我有一个 MainApp,从那里我打开主窗口,在那里我有一个菜单栏,从菜单栏我打开一个新窗口,这在主应用程序的 Controller 中调用。
我试图将一个 TextBox 和一个 Button 水平放置在 JOptionPane.showOptionDialog 中。我用过这段代码。 JTextField txt = new JTextFi
如果您使用的数组,比方说长度为 15,并且您想一次显示它们,它会在一个很长的显示框中并排显示它们: String[] options = {"Option 1","Option 2","Option
因此,这是我正在处理的项目中经过编辑的一小段代码,我需要能够从此 showOptionDialog 获取字符串值并将其显示在 showMessageDialog 中,但我一生都无法弄清楚如何实现,不幸
我是一名优秀的程序员,十分优秀!