java-为什么我的Eclipse可执行Jar不能双击运行?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-为什么我的Eclipse可执行Jar不能双击运行?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含8899字,纯文字阅读大概需要13分钟。
内容图文
![java-为什么我的Eclipse可执行Jar不能双击运行?](/upload/InfoBanner/zyjiaocheng/658/a600917357454d3d8c7d8b1e4fe86352.jpg)
我的Runnable Jar文件无法通过双击运行,我正在运行64位Windows和Eclipse.编译时也没有出现任何错误.我不确定这是我的代码还是其他东西.
这是代码.
import java.awt.BorderLayout;
public class Cal {
private JFrame frame;
private JTextField baseTextField;
private JTextField heightTextField;
private JTextField areaTextField;
private JTextField tBaseTextField;
private JTextField tHeightTextField;
private JTextField tAreaTextField;
private JTextField radiusTextField;
private JTextField cAreaTextField;
private JTextField diaTextField;
private JTextField circTextField;
private JTextField b1TextField;
private JTextField b2TextField;
private JTextField trapTextField;
private JTextField hTextField;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Cal window = new Cal();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public Cal() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setIconImage(Toolkit.getDefaultToolkit().getImage(
Cal.class.getResource("/images/Triforce.jpg")));
frame.setBounds(100, 100, 667, 595);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
frame.getContentPane().add(tabbedPane, BorderLayout.CENTER);
Panel panel_1 = new Panel();
panel_1.setBackground(Color.LIGHT_GRAY);
tabbedPane.addTab("Triangle", null, panel_1, null);
panel_1.setLayout(null);
JLabel lblInputHeight_1 = new JLabel("Input Height");
lblInputHeight_1.setForeground(new Color(0, 0, 204));
lblInputHeight_1.setBounds(10, 79, 70, 30);
panel_1.add(lblInputHeight_1);
JLabel lblInputBase_1 = new JLabel("Input Base");
lblInputBase_1.setForeground(new Color(0, 0, 255));
lblInputBase_1.setBounds(10, 319, 200, 30);
panel_1.add(lblInputBase_1);
tBaseTextField = new JTextField();
tBaseTextField.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
calculateT();
}
});
tBaseTextField.setBounds(10, 120, 200, 74);
panel_1.add(tBaseTextField);
tBaseTextField.setColumns(10);
tHeightTextField = new JTextField();
tHeightTextField.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
calculateT();
}
});
tHeightTextField.setBounds(10, 360, 200, 74);
panel_1.add(tHeightTextField);
tHeightTextField.setColumns(10);
JLabel lblArea_1 = new JLabel("Area:");
lblArea_1.setForeground(new Color(0, 0, 255));
lblArea_1.setBounds(289, 178, 194, 39);
panel_1.add(lblArea_1);
tAreaTextField = new JTextField();
tAreaTextField.setBounds(289, 228, 194, 74);
panel_1.add(tAreaTextField);
tAreaTextField.setColumns(10);
tAreaTextField.setEditable(false);
JPanel panel = new JPanel();
panel.setBackground(Color.LIGHT_GRAY);
tabbedPane.addTab("Rectangle", null, panel, null);
panel.setLayout(null);
JLabel lblInputBase = new JLabel("Input Base");
lblInputBase.setForeground(new Color(0, 0, 255));
lblInputBase.setBounds(0, 91, 166, 39);
panel.add(lblInputBase);
baseTextField = new JTextField();
baseTextField.setBounds(0, 131, 166, 44);
panel.add(baseTextField);
baseTextField.setColumns(20);
baseTextField.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
calculateR();
}
});
JLabel lblInputHeight = new JLabel("Input Height");
lblInputHeight.setForeground(new Color(0, 0, 255));
lblInputHeight.setBounds(0, 294, 166, 20);
panel.add(lblInputHeight);
heightTextField = new JTextField();
heightTextField.setBounds(0, 325, 166, 44);
panel.add(heightTextField);
heightTextField.setColumns(20);
heightTextField.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
calculateR();
}
});
JLabel lblArea = new JLabel("Area:");
lblArea.setForeground(new Color(0, 0, 255));
lblArea.setBounds(279, 131, 161, 68);
panel.add(lblArea);
areaTextField = new JTextField();
areaTextField.setBounds(274, 210, 166, 44);
panel.add(areaTextField);
areaTextField.setColumns(20);
areaTextField.setEditable(false);
Panel panel_2 = new Panel();
panel_2.setBackground(Color.LIGHT_GRAY);
tabbedPane.addTab("Circle", null, panel_2, null);
panel_2.setLayout(null);
JLabel lblInputRadius = new JLabel("Input Radius");
lblInputRadius.setBounds(10, 131, 85, 107);
panel_2.add(lblInputRadius);
radiusTextField = new JTextField();
radiusTextField.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
calculateC();
}
});
radiusTextField.setBounds(105, 152, 144, 64);
panel_2.add(radiusTextField);
radiusTextField.setColumns(10);
JLabel lblArea_2 = new JLabel("Area:");
lblArea_2.setBounds(259, 155, 91, 61);
panel_2.add(lblArea_2);
cAreaTextField = new JTextField();
cAreaTextField.setBounds(313, 154, 144, 61);
panel_2.add(cAreaTextField);
cAreaTextField.setColumns(10);
Panel panel_3 = new Panel();
panel_3.setBackground(Color.LIGHT_GRAY);
tabbedPane.addTab("Circumference", null, panel_3, null);
panel_3.setLayout(null);
JLabel lblInputDiameter = new JLabel("Input Diameter");
lblInputDiameter.setBounds(10, 146, 97, 61);
panel_3.add(lblInputDiameter);
diaTextField = new JTextField();
diaTextField.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
calculateCirc();
}
});
diaTextField.setBounds(117, 146, 126, 61);
panel_3.add(diaTextField);
diaTextField.setColumns(10);
JLabel lblArea_3 = new JLabel("Circumference");
lblArea_3.setBounds(253, 146, 86, 61);
panel_3.add(lblArea_3);
circTextField = new JTextField();
circTextField.setBounds(367, 146, 126, 61);
panel_3.add(circTextField);
circTextField.setColumns(10);
Panel panel_4 = new Panel();
panel_4.setBackground(Color.LIGHT_GRAY);
tabbedPane.addTab("Trapizoid", null, panel_4, null);
panel_4.setLayout(null);
JLabel lblBase = new JLabel("Input Base 1");
lblBase.setBounds(0, 65, 72, 55);
panel_4.add(lblBase);
JLabel lblInputBase_2 = new JLabel("Input Base 2");
lblInputBase_2.setBounds(0, 325, 72, 43);
panel_4.add(lblInputBase_2);
b1TextField = new JTextField();
b1TextField.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
calculateTrap();
}
});
b1TextField.setBounds(82, 65, 129, 55);
panel_4.add(b1TextField);
b1TextField.setColumns(10);
b2TextField = new JTextField();
b2TextField.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
calculateTrap();
}
});
b2TextField.setBounds(82, 319, 129, 55);
panel_4.add(b2TextField);
b2TextField.setColumns(10);
JLabel lblArea_4 = new JLabel("Area:");
lblArea_4.setBounds(278, 179, 72, 55);
panel_4.add(lblArea_4);
trapTextField = new JTextField();
trapTextField.setBounds(360, 179, 129, 55);
panel_4.add(trapTextField);
trapTextField.setColumns(10);
JLabel lblInputHeight_2 = new JLabel("Input Height");
lblInputHeight_2.setBounds(0, 179, 72, 55);
panel_4.add(lblInputHeight_2);
hTextField = new JTextField();
hTextField.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
calculateTrap();
}
});
hTextField.setBounds(82, 179, 129, 55);
panel_4.add(hTextField);
hTextField.setColumns(10);
}
private void calculateR() {
try {
double base = Double.parseDouble(baseTextField.getText());
double height = Double.parseDouble(heightTextField.getText());
double area = base * height;
areaTextField.setText(String.format("%.4f", area));
} catch (NumberFormatException e) {
areaTextField.setText("NaN");
}
}
private void calculateT() {
try {
double tBase = Double.parseDouble(tBaseTextField.getText());
double tHeight = Double.parseDouble(tHeightTextField.getText());
double preArea = tBase * tHeight;
double Area = preArea / 2;
tAreaTextField.setText(String.format("%.4f", Area));
} catch (NumberFormatException e) {
tAreaTextField.setText("NaN");
}
}
private void calculateC() {
try {
double Radius = Double.parseDouble(radiusTextField.getText());
double preArea = Radius * Radius;
double Area = preArea * 3.14;
cAreaTextField.setText(String.format("%.4f", Area));
} catch (NumberFormatException e) {
cAreaTextField.setText("NaN");
}
}
private void calculateCirc() {
try {
double diameter = Double.parseDouble(diaTextField.getText());
double Circumference = diameter * 3.14;
circTextField.setText(String.format("%.4f", Circumference));
} catch (NumberFormatException e) {
circTextField.setText("NaN");
}
}
private void calculateTrap() {
try {
double base1 = Double.parseDouble(b1TextField.getText());
double base2 = Double.parseDouble(b2TextField.getText());
double height = Double.parseDouble(hTextField.getText());
double preArea = base1 + base2 / 2;
double Area = preArea * height;
trapTextField.setText(String.format("%.4f", Area));
} catch (NumberFormatException e) {
trapTextField.setText("NaN");
}
}
}
解决方法:
您的代码没有任何问题-它将编译.
首先,确保您的主类是Cal.java.可以通过右键单击项目的属性-> gt来完成.运行/调试设置->点击一种配置(或进行新的配置)->编辑->选择一个班级.
接下来,确保将项目导出为可运行的JAR文件.可以通过右键单击项目,导出…->来完成.可运行的JAR文件(在Java文件夹下)->下一个->选择与上述相同的配置.
您应该能够双击JAR文件,或者在命令提示符/终端中使用以下命令:java -jar FileName.jar.
那应该解决您的问题.
内容总结
以上是互联网集市为您收集整理的java-为什么我的Eclipse可执行Jar不能双击运行?全部内容,希望文章能够帮你解决java-为什么我的Eclipse可执行Jar不能双击运行?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。