用Java的布局和组件,并且设置监听器实现一个小的加法计算器

总结

  1. 要想实现一个带有界面的项目需要先继承Jframe,然后分析自己项目里面有多少个组件,创建相应的组件对象

  2. 创建一个初始化的构造器,先创建一个容器,然后为容器设置一种布局,最后把组建一个一个添加到相对应的位置

  3. 对于frame的一些设置可以在主函数中先设置好大小,是否可见

  4. 最后是实现监听器的功能,前提是先在构造器中注册,然后再去实现





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);
	}

}

你可能感兴趣的:(【JAVA】)