想要在用户使用按钮之前暂停代码

乔治斯:

因此,我尝试运行代码,打开GUI窗口,在两个按钮之间进行选择,这两个按钮设置了一个值,然后使用此值继续其余的代码。

我见过类似的问题或教程,但是找不到适合我问题的解决方案。

正如我已经看到的,必须使用JFrameActionListenerActionEvent才能创建带有按钮的GUI。

在main方法中编写了一个扩展JFrame并实现ActionListener的对象。

问题是,在main方法中编写的代码会打开GUI窗口并继续运行。我只希望代码一直等到用户单击按钮然后继续。

一个子解决方案是,在actionPerformed方法中编写我想要的代码,但:

  • 选择按钮后,GUI窗口保持打开状态
  • 对我来说,用actionPerformed方法编写其余代码是没有意义的

或者编写一个while循环,直到单击一个按钮。必须存在一个我不知道或者我不理解它应该如何工作的更明智的解决方案。

这是代码的一部分。

@Override
     public void actionPerformed(ActionEvent e) {
        if(e.getSource() == testStringA) {
            setVariableTo = "testString_a";
            try {
                runMethodWithNewVariable(setVariableTo);
            } catch (IOException e1) {
                e1.printStackTrace();
            }
            System.exit(0);
        } else {
            setVariableTo = "project";
            try {
                runMethodWithNewVariable(setVariableTo);
            } catch (IOException e1) {
                e1.printStackTrace();
            }
            System.exit(0);
        }
     }
Gtomika:

在程序开始时,JDialog向用户显示模式您可以使用以下JOptionPane.show()方法来执行此操作

String[] buttonTexts = {"first","second"}; //create the button texts here

//display a modal dialog with your buttons (stops program until user selects a button)
int userDecision =  JOptionPane.showOptionDialog(null,"title","Select a button!",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,buttonTexts,buttonTexts[0]);

//check what button the user selected: stored in the userDecision
// if its the first (left to right) its 0, if its the second then the value is 1 and so on

if(userDecision == 0){
  //first button was clicked, do something
} else if(userDecision == 1) {
  //second button was clicked, do something
} else {
 //user canceled the dialog
}

//display your main JFrame now, according to user input! 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

想要在用户单击按钮后禁用按钮30秒钟,然后自动启用它

想要在用户单击时像从按钮一样将按钮更改为默认状态,反之亦然

想要代码在用户按下某些按钮时在数组中添加整数

想要在用户单击时使用共享首选项存储此自定义列表视图文本

需要在用户参数之前*推导参数的模板参数

想要在菜单显示之前使用ui-router在AngularJS中运行一些初始化代码

如何在单击 tkinter 按钮之前暂停代码执行?

想要一个按钮来更改颜色并在用户单击时更改文本

想要在用户名文本列为空时隐藏主机名的 cgi 呈现的 html 文本

在用户打开设置活动之前使用getDefaultSharedPreferences

React / Redux Saga:需要在用户单击表单上的按钮后触发路由更改

想要在 Angular 4 中单击按钮时获取特定用户的详细信息

想要在数据库中存储html代码,并在单击按钮时显示它

想要在Ansible Playbook中使用lineinfile在文件之前插入文本

想要在使用 Vue.js 提交之前显示加载文本

在用户空间代码中使用__NR_

在用户表单代码中使用各种标签

在用户单击“提交”按钮之前,如何从输入框中读取数据?(JavaScript)

Vuex:我应该在用户点击保存按钮之前更新状态吗?

在用户选择退出之前,如何获取某个代码块(在Java中)以保持重复?

想要在使用AJAX提交提交按钮时运行PHP查询

如何立即暂停用户而不是在用户注销后

在用户控制页面中将重置按钮默认设置为代码

Reactjs:如何使用户年龄显示在用户按钮上,而不是使用 reactjs 显示在页面上

在用户使用单选按钮回答问题列表后,使用 jQuery 显示用户分数

在用户信息之前插入值

在用户输入上暂停进程[Task,O]

在用户按下是按钮删除记录之前,带有复选框确认的材料 UI 对话框

在用户允许之前,如何防止redux-persist使用LocalStorage?