我试图在没有打开命令窗口的情况下从批处理文件启动Java (用Netbeans创建)。我看了最后一个小时,试过了javaw,start /B javaw等,但是都没什么效果。有人知道我做错了什么吗?
run_GUI.BAT
@ECHO OFF
start /B javaw GUI -ORBInitialPort 1050 -ORBInitialHost localhost
PAUSEGUI.java
import javax.swing.*;
/**
*
* @author
*/
public class GUI extends javax.swing.JFrame {
/**
* Creates new form GUI
*/
public GUI() {
initComponents();
}
/**
* This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
java.awt.GridBagConstraints gridBagConstraints;
outerPanel = new javax.swing.JPanel();
upperInnerPanel = new javax.swing.JPanel();
gameWinsPanel = new javax.swing.JPanel();
wonLabel = new javax.swing.JLabel();
lostLabel = new javax.swing.JLabel();
gameWinsLabel = new javax.swing.JLabel();
gameLossesLabel = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
textDisplay = new javax.swing.JTextArea();
gameButtonsPanel = new javax.swing.JPanel();
newGameButton = new javax.swing.JButton();
jButton1 = new javax.swing.JButton();
lowerInnerPanel = new javax.swing.JPanel();
optionButtonsPanel = new javax.swing.JPanel();
paperButtton = new javax.swing.JButton();
scissorsButton = new javax.swing.JButton();
stoneButton = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setMaximumSize(new java.awt.Dimension(500, 500));
setMinimumSize(new java.awt.Dimension(500, 0));
setPreferredSize(new java.awt.Dimension(600, 657));
getContentPane().setLayout(new java.awt.GridLayout());
outerPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "PAPER SCISSORS STONE", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 18))); // NOI18N
upperInnerPanel.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
gameWinsPanel.setLayout(new java.awt.GridBagLayout());
wonLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
wonLabel.setText("Won:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.gridwidth = 2;
gridBagConstraints.ipady = 12;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(11, 10, 0, 0);
gameWinsPanel.add(wonLabel, gridBagConstraints);
lostLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
lostLabel.setText("Lost:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.ipady = 12;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(6, 10, 11, 0);
gameWinsPanel.add(lostLabel, gridBagConstraints);
gameWinsLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
gameWinsLabel.setText("0");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 0;
gridBagConstraints.gridwidth = 2;
gridBagConstraints.ipadx = 19;
gridBagConstraints.ipady = 12;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(11, 10, 0, 57);
gameWinsPanel.add(gameWinsLabel, gridBagConstraints);
gameLossesLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
gameLossesLabel.setText("0");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 1;
gridBagConstraints.ipadx = 19;
gridBagConstraints.ipady = 12;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(6, 9, 11, 0);
gameWinsPanel.add(gameLossesLabel, gridBagConstraints);
textDisplay.setColumns(20);
textDisplay.setRows(5);
jScrollPane1.setViewportView(textDisplay);
gameButtonsPanel.setLayout(new java.awt.GridLayout(3, 0));
newGameButton.setText("New Game");
gameButtonsPanel.add(newGameButton);
jButton1.setText("Exit");
gameButtonsPanel.add(jButton1);
javax.swing.GroupLayout upperInnerPanelLayout = new javax.swing.GroupLayout(upperInnerPanel);
upperInnerPanel.setLayout(upperInnerPanelLayout);
upperInnerPanelLayout.setHorizontalGroup(
upperInnerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, upperInnerPanelLayout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 296, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(upperInnerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(upperInnerPanelLayout.createSequentialGroup()
.addComponent(gameButtonsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 131, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
.addComponent(gameWinsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
upperInnerPanelLayout.setVerticalGroup(
upperInnerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, upperInnerPanelLayout.createSequentialGroup()
.addContainerGap()
.addGroup(upperInnerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(upperInnerPanelLayout.createSequentialGroup()
.addComponent(gameWinsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(gameButtonsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 182, Short.MAX_VALUE))
.addContainerGap())
);
lowerInnerPanel.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
optionButtonsPanel.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
optionButtonsPanel.setLayout(new java.awt.GridLayout());
paperButtton.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
paperButtton.setText("PAPER");
optionButtonsPanel.add(paperButtton);
scissorsButton.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
scissorsButton.setText("SCISSORS");
optionButtonsPanel.add(scissorsButton);
stoneButton.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
stoneButton.setText("STONE");
optionButtonsPanel.add(stoneButton);
javax.swing.GroupLayout lowerInnerPanelLayout = new javax.swing.GroupLayout(lowerInnerPanel);
lowerInnerPanel.setLayout(lowerInnerPanelLayout);
lowerInnerPanelLayout.setHorizontalGroup(
lowerInnerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(lowerInnerPanelLayout.createSequentialGroup()
.addContainerGap()
.addComponent(optionButtonsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
lowerInnerPanelLayout.setVerticalGroup(
lowerInnerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, lowerInnerPanelLayout.createSequentialGroup()
.addContainerGap()
.addComponent(optionButtonsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 117, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
javax.swing.GroupLayout outerPanelLayout = new javax.swing.GroupLayout(outerPanel);
outerPanel.setLayout(outerPanelLayout);
outerPanelLayout.setHorizontalGroup(
outerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(outerPanelLayout.createSequentialGroup()
.addContainerGap()
.addGroup(outerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(lowerInnerPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(upperInnerPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
outerPanelLayout.setVerticalGroup(
outerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(outerPanelLayout.createSequentialGroup()
.addContainerGap()
.addComponent(upperInnerPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(lowerInnerPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(13, Short.MAX_VALUE))
);
getContentPane().add(outerPanel);
pack();
}// </editor-fold>//GEN-END:initComponents
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new GUI().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JPanel gameButtonsPanel;
private javax.swing.JLabel gameLossesLabel;
private javax.swing.JLabel gameWinsLabel;
private javax.swing.JPanel gameWinsPanel;
private javax.swing.JButton jButton1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JLabel lostLabel;
private javax.swing.JPanel lowerInnerPanel;
private javax.swing.JButton newGameButton;
private javax.swing.JPanel optionButtonsPanel;
private javax.swing.JPanel outerPanel;
private javax.swing.JButton paperButtton;
private javax.swing.JButton scissorsButton;
private javax.swing.JButton stoneButton;
private javax.swing.JTextArea textDisplay;
private javax.swing.JPanel upperInnerPanel;
private javax.swing.JLabel wonLabel;
// End of variables declaration//GEN-END:variables
}发布于 2015-04-03 19:40:58
如果不需要控制台窗口,请不要使用批处理文件。
只要指定一个通向JavaW的路径,就可以有一个正确的命令行,而不需要批处理。它也可以走入捷径。Start说,执行一个Windows命令行,与启动运行或快捷方式的目标相同.有VBS和JS。
根本不需要批处理文件。
发布于 2019-04-01 14:49:50
如果不希望它在控制台中运行,则需要将其转换为.jar文件。如果制作正确,Jars可以执行,并且将在没有控制台的情况下作为GUI程序运行。
要创建一个.jar文件,您需要三件事。
1:确保命令提示符(假设您使用的是windows,否则您需要相应的操作系统命令)被正确设置为使用javac命令编译java。如果javac在控制台中工作,jar命令也会工作。
2:你的程序的类文件,你应该已经有了。
3:舱单。
因此,要生成清单,只需打开记事本并键入以下内容:
Main-Class: GUI在类名之后,按回车或返回。如果你在清单的末尾没有换行符,它就不能用了。
将其保存在与"main.mf“类文件相同的文件夹中。
完成所有这些之后,打开命令提示符,根据需要更改当前的工作目录,然后输入以下内容:
jar cvmf main.mf GUI.jar Gui.class这将创建一个名为.jar的GUI.jar文件,当双击该文件时,它将在没有控制台的情况下运行您的程序。
我建议查找更多关于.jar文件的信息,因为它们对于将文件打包以供分发非常有用。
https://stackoverflow.com/questions/29432737
复制相似问题