版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/pxl20171799/article/details/84961690
实现如下界面
详细过程
一、创建一个类继承窗体类并实现监听接口
二、属性:
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);//设置窗体可见
}
}