我也问过这个问题:How to integrate batch script multiple selections into JAVA GUI?
由于我的问题没有得到合适的答案,所以我决定再次以更简短的方式再次询问stackoverflow。免责声明:我在该网站编辑了该问题。这就是我找不到合适答案的原因。
我有这个批处理脚本需要集成到java编码中。但这是我第一次进行整合,所以我不熟悉它应该如何完成。
如果有人能在该网站回答我的问题,那将是件好事。但如果你不是,那么向我提供一个将多个选择批处理脚本集成到java中的例子也是一件好事。
答案 0 :(得分:0)
private static String cmdLine = "";
private static final String scriptFile = "MYSCRIPT.sh"
public GUI() {
setTitle("FAMILY");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JCheckBox chckbxMyFatherIs = new JCheckBox("My Father is Joe");
chckbxMyFatherIs.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
if(!cmdLine.contains("JOE"))
cmdLine += " JOE ";
}
});
chckbxMyFatherIs.setBounds(45, 48, 137, 23);
contentPane.add(chckbxMyFatherIs);
JCheckBox chckbxNewCheckBox = new JCheckBox("My Mother is Audrey");
chckbxNewCheckBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(!cmdLine.contains("AUDREY"))
cmdLine += " AUDREY ";
}
});
chckbxNewCheckBox.setBounds(196, 48, 198, 23);
contentPane.add(chckbxNewCheckBox);
JCheckBox chckbxNewCheckBox_1 = new JCheckBox("My Bother is Jerry");
chckbxNewCheckBox_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(!cmdLine.contains("JERRY"))
cmdLine += " JERRY ";
}
});
chckbxNewCheckBox_1.setBounds(45, 97, 137, 23);
contentPane.add(chckbxNewCheckBox_1);
JCheckBox chckbxNewCheckBox_2 = new JCheckBox("My eldest Sister is June ");
chckbxNewCheckBox_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(!cmdLine.contains("JUNE"))
cmdLine += " JUNE ";
}
});
chckbxNewCheckBox_2.setBounds(196, 97, 198, 23);
contentPane.add(chckbxNewCheckBox_2);
JCheckBox chckbxNewCheckBox_3 = new JCheckBox("My youngest sister is Awy");
chckbxNewCheckBox_3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(!cmdLine.contains("AWY"))
cmdLine += " AWY ";
}
});
chckbxNewCheckBox_3.setBounds(196, 149, 198, 23);
contentPane.add(chckbxNewCheckBox_3);
JCheckBox chckbxAll = new JCheckBox("All");
chckbxAll.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
cmdLine = "JOE AUDREY JERRY JUNE AWY";
}
});
chckbxAll.setBounds(45, 149, 97, 23);
contentPane.add(chckbxAll);
}
您还需要一个OK按钮的事件监听器,您可以在其中调用:
Runtime.getRuntime().exec(scriptFile + cmdLine);
请注意:这只会将参数添加到您的列表中,删除(通过取消勾选方框)也需要处理...我想您现在知道如何。 考虑使用list而不是单个字符串......这样可以减少杂乱,并允许动态查找/删除/添加参数。