赞
踩
实验目的:
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); } } }
第一次上课,很多东西还不是很清楚,就是想记录一下这次作业,写的不好的地方一定要告诉我哟!我会认真改正的,希望下次能做得更好,小白加油!冲鸭!嘿嘿
ヾ(◍°∇°◍)ノ゙
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。