[ad_1]
我是 Debian Linux 12 上的初学者 java 程序员(后来也可能在 FreeBSD 14 上),我想制作一个小型应用程序 Java Swing 启动器来启动一些 Java Web 服务器,如 Jetty、Glassfish 和 Wildfly 用于 Web 开发并运行一些 HTML 5个模板(测试它们在每个Java Web服务器中的运行方式)。我找到了两个Java源代码(一个用于制作Java Swing界面,另一个用于运行unix shell脚本)唯一的事情是我不知道如何集成或如何使 java 在 Java Swing 应用程序中运行 unix 命令。 有可能吗? 还有什么方法可以创建一个新按钮来停止 Java Server Launcher 的进程? ,这是 Java Server Launcher 的代码:
爪哇
import java.awt.*; import javax.swing.*; public class JavaServerLauncher { static JFrame frame; static JPanel panel, panelData; static JMenuBar menuBar; static JMenu menuFile, menuSetting, menuOption; static JMenuItem itemNew, itemOpen, itemSave, itemPrint, itemOption, itemClose, itemView, itemReports; static JToolBar toolBar; static Icon iconMenu = UIManager.getIcon("html.pendingImage"); static JButton barSave, barEdit, barClear, barDelete; static ButtonGroup group; static JRadioButtonMenuItem subFont1, subFont2, subFont3, subFont4, subFont5; static JCheckBoxMenuItem checkPrefer; static JLabel label; static JTextField textFirst, textMiddle, textLast; static JCheckBox checkGender; public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { gui(); } }); } public static void gui() { frame = new JFrame("Java Server Launcher for Debian Linux"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(550, 300); JavaServerLauncher myMenu = new JavaServerLauncher(); myMenu.myMenuBar(); myMenu.myToolBar(); frame.setJMenuBar(menuBar); frame.add(toolBar, BorderLayout.SOUTH); frame.pack(); frame.setVisible(true); } public void myToolBar() { toolBar = new JToolBar(JToolBar.HORIZONTAL); frame.add(toolBar); barSave = new JButton("Apache TomCat", iconMenu); toolBar.add(barSave); barEdit = new JButton("Jetty Server", iconMenu); toolBar.add(barEdit); barClear = new JButton("GlassFish 7", iconMenu); toolBar.add(barClear); barDelete = new JButton("Wild Fly", iconMenu); toolBar.add(barDelete); barDelete = new JButton("Turn Off", iconMenu); toolBar.add(barDelete); } public void myMenuBar() { menuBar = new JMenuBar(); frame.setJMenuBar(menuBar); } }
我尝试过的:
我在一些网页上检查过谷歌,但没有答案,一些用户告诉我 Process Builder,但我找不到带有 Java Swing 的 Process Builder 的任何源代码。
解决方案1
正如已经向您建议的那样,您需要使用 ProcessBuilder(Java SE 18 和 JDK 18)[^]。 该文档展示了如何构建命令并使用该命令和关联的类来启动它。 这是带有示例代码的教程: https://www.baeldung.com/java-lang-processbuilder-api[^]。
[ad_2]
コメント