想学Java,同班同学已经上了一段时间的课程,刚开始有点跟不上脚步。
今天根据书上,写了个简易的计算器的代码,并且输出为exe文件。
简易计算器代码
package play;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
public class JSJ {
public static void main(String[] args) {
WindowOperation win = new WindowOperation();
win.setBounds(100,100,390,360);
win.setTitle("简单计算器");
}
}
class WindowOperation extends JFrame{
JTextField inputNumberOne,inputNumberTwo;
JComboBox choiceFuhao;
JTextArea textShow;
JButton button;
OperatorListener operator;
ComputerListener computer;
public WindowOperation(){
init();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
void init() {
setLayout(new FlowLayout());
inputNumberOne = new JTextField(5);
inputNumberTwo = new JTextField(5);
choiceFuhao = new JComboBox();
button = new JButton("计算");
choiceFuhao.addItem("选择运算符号:");
String[] a = {"+", "-", "*", "/"};
for (int i = 0; i < a.length; i++) {
choiceFuhao.addItem(a[i]);
}
textShow = new JTextArea(9, 30);
operator = new OperatorListener();
computer = new ComputerListener();
operator.setJComboBox(choiceFuhao);
operator.setWorkTogther(computer);
computer.setJTextFieldOne(inputNumberOne);
computer.setJTextFieldTwo(inputNumberTwo);
computer.setJTextArea(textShow);
choiceFuhao.addItemListener(operator);
button.addActionListener(computer);
add(inputNumberOne);
add(choiceFuhao);
add(inputNumberTwo);
add(button);
add(new JScrollPane(textShow));
}
}
class OperatorListener implements ItemListener{
JComboBox choice;
ComputerListener workTogther;
public void setJComboBox(JComboBox box){
choice = box;
}
public void setWorkTogther(ComputerListener computer){
workTogther = computer;
}
public void itemStateChanged(ItemEvent e){
String fuhao = choice.getSelectedItem().toString();
workTogther.setFuhao(fuhao);
}
}
class ComputerListener implements ActionListener {/*这个地方刚开始老是报错,但是又找不到原因,后来发现是 public void actionPerformed(ActionEvent e) 这位置搞错了*/
JTextField inputNumberOne,inputNumberTwo;
JTextArea textShow;
String fuhao;
public void setJTextFieldOne(JTextField t){
inputNumberOne = t;
}
public void setJTextFieldTwo(JTextField t){
inputNumberTwo = t;
}
public void setJTextArea(JTextArea area){
textShow = area;
}
public void setFuhao(String s){
fuhao = s ;
}
public void actionPerformed(ActionEvent e){
try{
double number1 = Double.parseDouble(inputNumberOne.getText());
double number2 = Double.parseDouble(inputNumberTwo.getText());
double result = 0;
if (fuhao.equals("+")) {
result = number1 + number2;
}
else if (fuhao.equals("-")) {
result = number1 - number2;
}
else if (fuhao.equals("*")) {
result = number1 * number2;
}
else if (fuhao.equals("/")) {
result = number1 / number2;
}
textShow.append(number1+" "+fuhao+" "+number2+"="+result+"\n");
}
catch (Exception exp){
textShow.append("\n亲输入数学字符");
}
}}
中间出了点小插曲,一直报错,因为初学又看不懂报错报了个啥。真是生活不易,学习也不易啊。代码敲完后,暂时性的满足了,能出现运行效果:
但是贪心的我又不满足了,我想把他做成exe文件,方便运行,不然我觉得光看代码,光看视频没什么意思,自己动动手挺好,还能学点东西,然后我就搜索,找到了这篇文章(6条消息) 关于IntelliJ IDEA如何生成exe程序_一点的博客-CSDN博客_idea生成exehttps://blog.csdn.net/qq_29496057/article/details/53333419
根据文章,做出了个exe文件,然后兴高采烈运行了下,可以运行!可以运行!可以运行!满怀期待发给室友,看能否在他电脑上运行时,当头一棒,直接敲蒙,今天就到这了,明天看能不能给他解决了,睡觉!!!!