如何使 JButton 在同一目录中运行可执行文件?

2024-04-19

好的,我正在尝试让我的 JButton 在不同的目录中运行可执行文件。这是我以前编写的控制台应用程序,我希望此按钮运行可执行文件。我对 Java 编程语言相当陌生,但这是我的代码。

import java.util.*;

import javax.swing.*;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;



public class main
{
    public static void main(final String[] args) throws IOException {
        JFrame f = new JFrame("Test");
        f.setVisible(true);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setSize(500, 500);
        JPanel p = new JPanel();
        JButton b1 = new JButton("Calculate");
        f.add(p);
        p.add(b1);
        Process proce = Runtime.getRuntime().exec("C:/Ctest.exe");
    }
    private static void test1() {
        // TODO Auto-generated method stub

    }
    {
        JFrame f = new JFrame("Test");
        f.setVisible(true);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setSize(500, 500);
        JPanel p = new JPanel();
        JButton b1 = new JButton("Calculate");
        f.add(p);
        p.add(b1);
        b1.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent arg0) {

            }
        });
     }
}

另外,如果您对我有任何建议,请随时告诉我。我使用的是eclipse IDE。


首先看一下ProcessBuilder http://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html.

Swing 是一个单线程框架,因此您不会想要启动Process在事件调度线程的当前上下文中(其中actionPerformed被调用)并且需要在它自己的线程上下文中执行它。

这就提出了同步结果的问题Process回到 UI,这只能在 EDT 的上下文中完成。为此,您应该考虑使用SwingWorker

看一眼Swing 中的并发 http://docs.oracle.com/javase/tutorial/uiswing/concurrency/ and 工作线程和 SwingWorker http://docs.oracle.com/javase/tutorial/uiswing/concurrency/worker.html更多细节

看一下

  • 从进程打印 Java 输入流 https://stackoverflow.com/questions/15801069/printing-a-java-inputstream-from-a-process/15801490#15801490
  • Swing 消息只有在 Runtime.getRuntime().exec() 完成执行后才会显示 https://stackoverflow.com/questions/15396694/swing-message-doesnt-get-displayed-until-after-runtime-getruntime-exec-fini/15398441#15398441
  • 执行 .bat 文件时启用按钮 https://stackoverflow.com/questions/15129107/enabling-buttons-while-executing-bat-file/15129240#15129240

有关更多示例...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使 JButton 在同一目录中运行可执行文件? 的相关文章

  • 将 Set> 转换为 HashMap

    在我的代码中的某一时刻 我创建了一个Set
  • 编写代码来处理单词列表并删除单词中的所有空格

    该代码应该检查字符串数组并查看单词之间是否有空格 这是一个例子 every near ing checking food stand value 应改为hold every nearing checking food stand value
  • 正则表达式删除2个字符串之间的所有内容

    我的replaceAll 需要一个正则表达式来删除2 个字符串和字符串本身之间的所有内容 例如 如果我有类似的东西 stackoverflow is really awesome nremove123 n I love it 我试图做一个像
  • Java util Logger 未写入文件

    我为我的应用程序编写了一个愚蠢的记录器 它将信息 警告和严重消息写入日志文件 前一段时间它工作得很好 但突然间 它无缘无故地停止工作了 如果日志文件不存在 它会继续创建该文件 但不写入任何内容 我找不到它现在不起作用的原因 我会感谢一些帮助
  • spring roo vs appfuse 生成服务/dao 层

    我正在寻找有经验的用户对 spring roo 和 appfuse 的反馈 您认为逆向工程数据库表和生成服务层 dao 层和 jpa 实体哪一个更好 如果我没记错的话 spring roo 目前无法对数据库进行逆向工程 只是一个快速更新 通
  • Java Swing - 在运行时动态切换语言环境

    我了解如何国际化 java 程序 但我有一个问题 我的程序中的语言可以随时切换 但我的程序可以存在多种状态 这意味着它可能会也可能不会打开多个 JLabels JPanel JFrame 等 是否有一个类或方法可以将当前的 GUI 更新为切
  • 了解 Android 上的默认键盘

    我想知道 Android 中用户选择的默认键盘 我知道我可以使用以下命令访问启用的输入法列表InputMethodManager 但我想知道用户当前使用的是哪一个 到目前为止 我已经尝试获取当前的输入法子类型 InputMethodMana
  • Android MediaCodec 在异步模式下比同步模式下慢?

    再次 我有一个关于 Android 的 MediaCodec 类的问题 我已成功解码原始 h264 内容并将结果显示在两个纹理视图中 h264 流来自运行 openGL 场景的服务器 该场景有一个摄像头 因此可以响应用户输入 为了进一步减少
  • CXFServlet 抛出 java.lang.NoSuchMethodError:

    java lang NoSuchMethodError org codehaus stax2 ri EmptyIterator getInstance Lorg codehaus stax2 ri EmptyIterator at com
  • Java + JNA:找不到指定的过程

    我正在尝试使用 Visual Studio 创建一个 dll 文件并在 java 项目中使用 访问它 该库似乎已加载 但总是抛出相同的异常 线程 main 中出现异常 java lang UnsatisfiedLinkError 查找函数
  • 方法链接的优点和缺点以及用对象本身替换所有 void 返回参数的可能性

    我最感兴趣的是Java 但我认为这是一个普遍的问题 最近我一直在使用 Arquillian 框架 ShrinkWrap 使用了大量的方法链 方法链的其他示例是以下方法StringBuilder StringBuffer 使用这种方法有明显的
  • 将resourceBundle与外部文件java一起使用

    我一直在阅读有关此问题的其他问题和答案 但我不明白资源边界是如何完全工作的 我认为这与 Joomla 使用多语言选项的方式类似 基本上 您有要阅读的不同语言的不同消息的文件 所以我在 src Lang 文件夹中创建了 System prop
  • Hibernate + Oracle IN 子句限制,如何解决?

    我知道这个问题已经发了很多次了 但我想问一下细节 使用 Oracle 您不能向 IN 子句传递超过 1000 个参数 因此将 hibernate 与 Oracle 一起使用可能有一些解决此问题的方案 例如 1 对于每个 1000 个参数列表
  • 如何使用java.util.concurrent包实现后台线程?

    这是我首先使用的代码 但在最新的 Android 版本中AsyncTask类已被弃用并且 因此它没有响应 然后我使用了Thread类 但该类也不起作用 我想要与我得到的结果相同的结果AsyncTask班级 我知道我必须使用 java uti
  • 如何将java数组列表转换为javascript数组? [复制]

    这个问题在这里已经有答案了 我们如何将 String 对象的 java arraylist 转换为 javascript 数组 这就是我正在做的事情 但我正在寻找更好的方法来做到这一点 我不想迭代数组列表 var myArray
  • 关于 servlet 的简要想法[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 从哪里可以获得有关 servlet 的知识 大多数人会从 Sun 的有关 servlet 的官方教程开
  • 如何在 Mulesoft 中将睡眠设置为流程而不丢失消息负载

    我想插入脚本来延迟 Mulesoft 中的处理流程 我尝试在 groovy 中插入脚本 但丢失了消息有效负载 因此当我必须获取消息有效负载时 收到了空指针 我怎样才能不丢失消息有效负载 Thanks 如果您正在使用Groovy流程中的组件
  • Java 到 ruby​​ AES/ECB/PKCS5Padding 加密

    我有一个使用第三方支付门户的在线电子商务网站 支付门户一直运行良好 直到第三方支付门户要求每个人开始使用带有其他支付参数的哈希密钥 现在的问题是第三方支付门户只提供了一页文档来实现哈希密钥 这是提供的文档 加密演算法 为了减少数据传输和发布
  • 关于 Executors.newSingleThreadExecutor() 的问题

    这是一个关于以下代码的程序流程的问题 import java util concurrent ExecutorService import java util concurrent Executors public class Test p
  • 是否有可能构建一个可以通过浏览器运行的网络自动化?

    我创建了一个 Java 程序 它使用镀铬驱动程序 https chromedriver chromium org Selenium https www seleniumhq org and Java Excel API http jexce

随机推荐

  • 创建具有任意数量参数的 python lmfit 模型

    有没有办法根据具有任意数量因变量的函数构建 lmfit 模型 例如 from lmfit import Model def my poly x params func 0 for i in range len params func par
  • 如何在 Core Data 上下文之外使用 Core Data 模型子类?

    我正在尝试在 Swift 中制作一个天气应用程序 它将保存我添加到核心数据的城市 每个城市都包含一个天气对象 该对象也保存到核心数据和其他各种变量 但我很快就发现 在 Core Data 上下文之外使用 Core Data NSManage
  • Tensorflow 版本与 Tensorboard 版本

    我想问一下tensorflow版本是否可以与tensorboard版本不同 我有个问题 404 problem 有人建议安装一个新版本的张量板 https github com tensorflow tensorboard issues 9
  • 通过 Android 应用程序安全地使用 Google Plus 登录 Web 应用程序

    我正在开发一个 Android 应用程序 我希望用户使用 Google 登录来登录我的应用程序 目前 我在 PHP 登录脚本中传递从 Google 获得的用户名 该脚本使用用户 ID 加载新会话 目前 该网站非常不安全 任何知道其他用户用户
  • 如何在jstl中使用三元运算符编写if else条件?

    我想在 JSTL 中使用三元写一个 if else 条件 我是用jsp做的 我的代码使用jsp 我怎样才能使用jstl实现它 你的意思是表达语言 https stackoverflow com tags el info 简称 EL 因为这是
  • Maven 程序集插件未使用 FinalName 进行 Attach=true 安装?

    我配置了以下程序集
  • 在 bash 脚本中期望

    我正在尝试将 Expect 脚本实现到 bash 脚本中 请耐心等待 因为我对 bash expect 还很陌生 这是按预期工作的期望脚本 log user 0 file delete foo txt set fh open foo txt
  • 什么是列表与数组列表? [复制]

    这个问题在这里已经有答案了 这两个对象之间的根本区别是什么 是不是效率更高 还有更多方法吗 List是接口 而ArrayList是类 See 数组列表 https docs oracle com javase 8 docs api java
  • Jquery 无法在加载的内容中工作

    它似乎有一个简单的解决方案 但我还无法弄清楚 有一千个类似的主题 但没有一个对我有用 所以我以一种非常简单的方式问这个问题 我有一个按钮 假设按钮 A 我想在单击此按钮时加载外部页面的一部分 加载该部分后 有另一个按钮 B 在加载的内容内
  • Vim 滚动时保持光标位置

    有没有办法在滚动时使 Vim gVim 中的 cusror 位置保持在屏幕外 与许多 Windows 编辑器类似 我了解标记 并且确实使用它们 我也知道 标记 最后编辑位置 但正在寻找其他想法 我问这个问题是因为有时我想将光标保留在某个位置
  • Symfony2:--重新安装问题

    我一直在尝试为 Symfony2 安装 Buzz 我将其添加到 deps 文件中 并尝试更新我的供应商 php bin vendors update 该命令只是告诉我我已经安装了标准版本 并且我应该尝试使用 php bin vendors
  • 使用三个 JS 和 React JS 加载 GLTF 模型

    我使用 React JS 加载从 sketchfab 下载的 GLTF 文件时遇到问题 当我尝试在不使用React 使用常规index html和index js 的情况下执行此操作时 它可以工作 但是当我将代码带入React应用程序时 它
  • 使用 Ember.js 为每个模型添加额外的 url 参数

    我有两个模型 App Providers DS Model extend name DS attr string description DS attr string logo DS attr string products DS hasM
  • Get-AzureWebsite:找不到请求的值“动态”

    我们有一组使用 Azure powershell cmdlet 的自定义 powershell 模块 它们已经正常工作一年多了 我刚刚设置了一台新计算机 每当我尝试运行 Get AzureWebsite 时 我都会收到以下错误 PS C W
  • 使用 Hadoop MapReduce 的计算语言学项目构想

    我需要做一个关于计算语言学课程的项目 是否有任何有趣的 语言 问题 其数据密集程度足以使用 Hadoop MapReduce 来解决 解决方案或算法应尝试分析并提供 语言 领域的一些见解 但是它应该适用于大型数据集 以便我可以使用 hado
  • 如何在 Xamarin 上仅查看我的解决方案的调试输出?

    我正在使用 XF pcl 制作应用程序 Mac 上的 Xamarin 工作室 我正在使用 Debug WriteLine 进行调试 我想避免看到其他 nuget 的控制台日志 我可以看到控制台以蓝色显示我的日志 如何只看到蓝色日志 Than
  • 无法在“节点”上执行“removeChild”

    我在用着http alexgorbatchev com SyntaxHighlighter http alexgorbatchev com SyntaxHighlighter 突出显示我网站上的代码 但有时在我的日志中我会收到如下 Java
  • 如何获取相机相对于其方向的 SCNVector3 位置 ARKit Swift

    我试图在相机前面附加一个对象 但问题是它始终与初始相机方向相关 我如何调整 获取SCNVector3即使相机的方向是向上还是向下 将物体放在前面的位置 我现在就是这样做的 let ballShape SCNSphere radius 0 0
  • 如何使用 Powershell 将 XML 正确导出到文件

    使用以下命令导入任何有效的 XML 文件作为源 XML Var Get Content Path PathToAnyValidXML我无法正确导出其内容 Using Set Content SomePath Var 文件以 System X
  • 如何使 JButton 在同一目录中运行可执行文件?

    好的 我正在尝试让我的 JButton 在不同的目录中运行可执行文件 这是我以前编写的控制台应用程序 我希望此按钮运行可执行文件 我对 Java 编程语言相当陌生 但这是我的代码 import java util import javax