Java 实现界面的字符串连接操作

实现如下界面

 

详细过程

一、创建一个类继承窗体类并实现监听接口

二、属性:

            5个标签,串1,串2,+,=,结果

           3个文本框,用于输入输出

            2个按钮,连接字符串和清除字符串

三、构造函数

带参数的和不带参数的

注意:1,不带参数的构造函数会有很多个,我们只需选择一个带有窗体名称的

           2,设置窗体的大小

           3,设置组件的字体和颜色之类的

           4,创建所有的组件

           5,将所有的组件都写到不带参数的构造函数中,按照排列的顺序,一行一行添加,空着的位置需要建一个空标签

 四、实现按钮的功能

          按钮1的名称——实现按钮1的功能——连接

         按钮2的名称——实现按钮2的功能——清除

 五、将监听添加到构造方法中

     注意:大容器监听按钮,即将按钮添加到大容器中去

六、写一个主类测试

在主类设置窗体可见

详细代码

package Demo;

import java.awt.Font;
import java.awt.GridLayout;
import java.awt.HeadlessException;
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;

public class Chuan extends JFrame implements ActionListener {
	/*
	 *属性
	 *5个标签,3个文本框,2个按钮
	 *方法
	 *构造方法:带参数 , 不带参数
	 *监听方法,将按钮行为添加到窗体容器中去
	 */
	
	
	//属性
	private JLabel j1,j2,j3,j4,j5;
	private JTextField t1,t2,t3;
	private JButton b1,b2;
	
	
	//方法
	
	public Chuan(JLabel j1, JLabel j2, JLabel j3, JLabel j4, JLabel j5, JTextField t1, JTextField t2, JTextField t3,
			JButton b1, JButton b2) throws HeadlessException {
		super();
		this.j1 = j1;
		this.j2 = j2;
		this.j3 = j3;
		this.j4 = j4;
		this.j5 = j5;
		this.t1 = t1;
		this.t2 = t2;
		this.t3 = t3;
		this.b1 = b1;
		this.b2 = b2;
	}
	
	
	public Chuan(String title) throws HeadlessException {
		super(title);
		this.setSize(600, 200);//窗体的大小
		this.setLayout(new GridLayout(3,5,5,5));//组件的布局
		Font font=new Font("楷体", Font.ITALIC, 25);//设置组件的字体
		this.setFont(font);//将字体添加到窗体中
		
		//标签
		this.j1=new JLabel("串1");
		this.j2=new JLabel("+");
		this.j3=new JLabel("串2");
		this.j4=new JLabel("=");
		this.j5=new JLabel("结果");
		
		//按钮
		this.b1=new JButton("连接");
		this.b2=new JButton("清除");
		
		//文本框
		this.t1=new JTextField();
		this.t2=new JTextField();
		this.t3=new JTextField();
		
		//按顺序添加组件到窗体中
		//第一行的标签
		this.add(j1);
		this.add(new JLabel());
		this.add(j3);
		this.add(new JLabel());
		this.add(j5);
		//第二行的标签和文本框
		this.add(t1);
		this.add(j2);
		this.add(t2);
		this.add(j4);
		this.add(t3);
		//第三行按钮
		this.add(new JLabel());
		this.add(b1);
		this.add(new JLabel());
		this.add(b2);
		this.add(new JLabel());

		//添加监听
		b1.addActionListener(this);
		b2.addActionListener(this);

		
	}


	@Override
	public void actionPerformed(ActionEvent arg0) {

		String nn;
		nn=arg0.getActionCommand();
		//System.out.println(b1);
		if(nn.equals("连接"))
		{
			String mm=t1.getText().concat(t2.getText());
			
			t3.setText(mm);
		}
		else {
			t1.setText(" ");
			t2.setText(" ");
			t3.setText(" ");
		}
	}


	


	

}
package Demo;

public class MAIN {
	public static void main(String[] args)
	{
		Chuan chuan=new Chuan("串求和");//窗体名称
		chuan.setVisible(true);//设置窗体可见
	}

}

 

 

 

 

 

 

 

 

                    

 

 

 

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值