实验目的
1.了解Java图像用户界面的开发,掌握基本组件的使用;
2.掌握编写独立运行的窗口界面的方法,了解菜单和对话框的使用方法;
3.理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。
实验内容
题目:编写一个Java界面程序,在窗口中,添加一个JFrame,三个JTextField,这三个文本框分别用于输入操作数1,运算符号(+-*/)和操作数2,再添加一个JButton和一个JLabel,当用户输入操作数1、运算符号和操作数2并点击JButton时,在JLabel中显示对应的运算结果。参考界面:
package homework;
import java.awt.Color;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
public class Calculator {
public static void main(String[] args) {
// TODO 自动生成的方法存根
JFrame jf = new JFrame();
jf.setLayout(null);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
int jfWider = 600;
int jfHeighter = 400;
jf.setSize(jfWider, jfHeighter);
jf.setLocationRelativeTo(null);
JButton jButton = new JButton("计算");
jButton.setBounds(400, 250, 120, 32);
jf.add(jButton);
JTextField jtext1 = new JTextField();
jtext1.setBounds(50, 25, 80, 32);
jf.add(jtext1);
JTextField jtext2 = new JTextField();
jtext2.setBounds(50, 100, 80, 32);
jf.add(jtext2);
JTextField jtext3 = new JTextField();
jtext3.setBounds(50, 175, 80, 32);
jf.add(jtext3);
JLabel jLabel = new JLabel();
jLabel.setBounds(50, 250, 80, 32);
jLabel.setText(null);
jf.add(jLabel);
jf.getContentPane().setBackground(Color.pink);
ActionListener al = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO 自动生成的方法存根
int a = Integer.parseInt(jtext1.getText());
int b = Integer.parseInt(jtext3.getText());
int c = 0;
if ("+".equals(jtext2.getText())) {
c = a + b;
} else if ("-".equals(jtext2.getText())) {
c = a - b;
} else if ("*".equals(jtext2.getText())) {
c = a * b;
} else if ("/".equals(jtext2.getText())) {
c = a / b;
}
jLabel.setText(String.valueOf(c));
}
};
jButton.addActionListener(al);
jf.setVisible(true);
}
}