Swing GUI界面设计

实验目的:
1.掌握Swing常用的组件的使用;
2.掌握程序界面开发的步骤;
3.掌握事件监听器的使用。

实验内容:

实验一:模拟QQ登录界面

运行效果如下:

1.在登录界面输入用户名和密码

在这入图片描述
2.点击“确定”按钮,弹出消息提示框,显示输入的用户名和密码。

在这里插入图片描述
源代码:

package test12;

import java.awt.GridLayout;
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.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class QQLogin extends JFrame implements ActionListener{//本身是个容器、监听器
	
	JLabel jl1 = new JLabel("用户名:");//标签:设置用户名
	JTextField jtf1 = new JTextField(20);//文本域组件
	
	JLabel jl2 = new JLabel("密  码:");//标签:设置密码
	JTextField jtf2 = new JTextField(20);//文本域组件
	
	JButton jb1 = new JButton("确定");//按钮类组件:设置按钮"确定"
	JButton jb2 = new JButton("取消");//按钮类组件:设置按钮"取消"
	
	JPanel jp1 = new JPanel();//第一行        建立JPanel中间容器
	JPanel jp2 = new JPanel();//第二行
	JPanel jp3 = new JPanel();//第三行
	
	public QQLogin() {
		this.setLayout(new GridLayout(5,1));//设置GridLayout网络布局管理器
		this.setTitle("QQ登录界面");
	    this.setSize(600,400);//窗体大小    因为对象本身就是窗体,所以用this.xxx来设置窗体
	    this.setLocationRelativeTo(null);//把窗体放在屏幕中间
	    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口程序退出
	    //设置退出键   JFrame.EXIT_ON_CLOSE其实与数字3是等价的,但是把数字3放在这里无意义,所以一般不放,理解与3等价即可
	    
	    jp1.add(jl1); //第一行是用户名
	    jp1.add(jtf1);
	    jp2.add(jl2); //第二行是密码
	    jp2.add(jtf2);
	    jp3.add(jb1);//第三行是 两个按钮
	    jp3.add(jb2);
	    
	    this.add(new JLabel());//把界面设计的三行文本框中
	    this.add(jp1);//把第一二三行放入容器里
	    this.add(jp2);
	    this.add(jp3);
	    this.add(new JLabel());
	    
	    this.jb1.addActionListener(this);//注册监听器
	    this.jb2.addActionListener(this);//注册监听器
	    
	}
	
	public static void main(String[] args) {
		QQLogin LoginWindow = new QQLogin();
		LoginWindow.setVisible(true);//使界面可视

	}
	
	@Override
	public void actionPerformed(ActionEvent e) {//事件源
		if(e.getSource()==jb1) {//选择“确定”后显示内容
			String str1 = "用户名:"+jtf1.getText()+";密码:"+jtf2.getText();
			JOptionPane.showMessageDialog(this, str1);
		}
		else if(e.getSource()==jb2) {//选择“取消”后退出
			System.exit(0);
		}	
	}
}

实验二:学生信息输入界面

运行结果如下:

1.在登录界面输入学生姓名和选择性别

在这里插入图片描述

输入我的名字,选择我的性别 (* ̄︶ ̄)

在这里插入图片描述
2.点击“确定”按钮,弹出消息提示框,显示输入的用户名和选择的性别。

在这里插入图片描述

学生信息录入界面与实验一的QQ登录界面的区别是在性别选择这里,其他的没什么差别,(* ̄︶ ̄)

源代码:

package test12;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class StudentLogin extends JFrame implements ActionListener{
	
	JLabel jl1 = new JLabel("学生姓名:");//标签:设置学生姓名
	JTextField jtf1 = new JTextField(15);//文本域组件
	
	JLabel jl2 = new JLabel(" 性别:");//标签:设置性别
	JComboBox<String> com = new JComboBox<String>();//选择框,性别的选择:“男”和“女”
	
	JButton jb1 = new JButton("确定");//按钮类组件:设置按钮"确定"
	JButton jb2 = new JButton("退出");//按钮类组件:设置按钮"退出"

	JPanel jp1 = new JPanel();//第一行  建立JPanel中间容器
	JPanel jp2 = new JPanel();//第二行
	JPanel jp3 = new JPanel();//第三行
	
	public StudentLogin(){
		this.setLayout(new GridLayout(4,1));//设置GridLayout网络布局管理器
		this.setTitle("学生信息输入窗口");
	    this.setSize(400,300);//窗体大小
	    this.setLocationRelativeTo(null);//把窗体放在屏幕中间
	    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口程序退出
	    
	    jp1.add(jl1); //第一行是学生姓名
	    jp1.add(jtf1);
	    
	    jp2.add(jl2);
	    jp2.add(com); //第二行是性别
	    com.addItem("男");
		com.addItem("女");
		
	    jp3.add(jb1);//第三行是 两个按钮
	    jp3.add(jb2);
		
	    this.add(jp1);//把第一二三行放入容器里
	    this.add(jp2);
	    this.add(jp3);
	    
	    this.jb1.addActionListener(this);//注册监听器
	    this.jb2.addActionListener(this);//注册监听器
	    
	}

	public static void main(String[] args) {
		StudentLogin LoginWindow = new StudentLogin();
		LoginWindow.setVisible(true);//使界面可视

	}

	@Override
	public void actionPerformed(ActionEvent e) {//事件源
		if(e.getSource()==jb1) {//选择“确定”后显示内容
			String sex=(String)com.getSelectedItem();//获取选择框里得到的性别
			String str1=jtf1.getText()+"是一位"+sex+"同学!";
			JOptionPane.showMessageDialog(this,str1);
		}
		else if(e.getSource()==jb2) {//选择“退出”后退出
			System.exit(0);
		}
		
	}

}

第一次上课,很多东西还不是很清楚,就是想记录一下这次作业,写的不好的地方一定要告诉我哟!我会认真改正的,希望下次能做得更好,小白加油!冲鸭!嘿嘿
ヾ(◍°∇°◍)ノ゙

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A cup of tea.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值