总结
-
要想实现一个带有界面的项目需要先继承Jframe,然后分析自己项目里面有多少个组件,创建相应的组件对象
-
创建一个初始化的构造器,先创建一个容器,然后为容器设置一种布局,最后把组建一个一个添加到相对应的位置
-
对于frame的一些设置可以在主函数中先设置好大小,是否可见
-
最后是实现监听器的功能,前提是先在构造器中注册,然后再去实现
public class MyComputer extends JFrame implements ActionListener {
JButton jButton = new JButton("=");
JTextField jTextField01 = new JTextField(5);
JTextField jTextField02 = new JTextField(5);
JTextField jTextField03 = new JTextField(5);
JLabel jLabel = new JLabel("+");
public MyComputer(){
setTitle("加法计算器");
//先创建一个容器后,在给容器设置一种布局,然后在布局里面设置的有五种布局的方式,常用的有三种
Container cp = this.getContentPane();
cp.setLayout(new FlowLayout());
//在把所需要的组件一个一个添加到容器里面
cp.add(jTextField01);
cp.add(jLabel);
cp.add(jTextField02);
cp.add(jButton);
cp.add(jTextField03);
jTextField03.setEditable(false); //这个地方是给得出结果的文本框中设置一种不可编辑
//然后是注册监听器,为谁设置监听器就用谁的名字
jButton.addActionListener(this);
}
/**
* 因为你做的是加法计算器,所以当你肯定需要得到前两个文本框里面的数据,这个时候你就需要自己定义两个数据类型来保存
*
*/
@Override
public void actionPerformed(ActionEvent e) {
//这部分你需要把一个字符串类型的数据转为double类型
String s1 = jTextField01.getText();
String s2 = jTextField02.getText();
double x1 = Double.parseDouble(s1);
double x2 = Double.parseDouble(s2);
double y = x1 + x2;
//最后再把double类型的数据转化为String类型的数据
jTextField03.setText(String.valueOf(y));
}
public static void main(String[] args){
MyComputer frame = new MyComputer();
frame.setSize(300,200);
frame.setVisible(true);
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
}
}