summer练习题之java图形用户界面应用,summer练习题
分享于 点击 4159 次 点评:237
summer练习题之java图形用户界面应用,summer练习题
QQ用户登陆界面(初级)
package com.wbq.event; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPasswordField; import javax.swing.JTextField; //1.创建名为Login的类,在该类中创建一个名为InitUI的方法,图形界面就在此方法中实现 public class QQLogin { public static void main(String[] args) { QQLogin log = new QQLogin(); log.InitUI(); } public void InitUI() { final JTextField nametext = new JTextField(); char keyvaule[] ={' ',}; /********************** 键盘事件 *************************/ KeyListener kl = new KeyListener() { //完成一次完整的敲击键盘上某个键的过程(按下和松开) @Override public void keyTyped(KeyEvent arg0) { // TODO Auto-generated method stub System.out.println("键盘敲击了..arg0 = "+arg0.getKeyChar()); System.out.println("输入了:"+nametext.getText()+arg0.getKeyChar()); } //松开键 @Override public void keyReleased(KeyEvent arg0) { // TODO Auto-generated method stub System.out.print("键盘释放了"); } //按下键时调用。 @Override public void keyPressed(KeyEvent arg0) { // TODO Auto-generated method stub System.out.println("键盘按下了.."); } }; /********************** 鼠标事件 *************************/ MouseListener ml = new MouseListener() { //在组件上释放鼠标按钮时调用 @Override public void mouseReleased(MouseEvent arg0) { // TODO Auto-generated method stub System.out.println("鼠标释放了..."); } //在组件上按下鼠标按钮时调用。 @Override public void mousePressed(MouseEvent arg0) { // TODO Auto-generated method stub System.out.println("鼠标点下了..."); } //当鼠标退出组件时调用。 @Override public void mouseExited(MouseEvent arg0) { // TODO Auto-generated method stub System.out.println("鼠标退出了"); } //当鼠标进入组件时调用 @Override public void mouseEntered(MouseEvent arg0) { // TODO Auto-generated method stub System.out.println("鼠标移入了"); } //在组件上单击(按下并释放)鼠标按钮时调用。 @Override public void mouseClicked(MouseEvent arg0) { // TODO Auto-generated method stub System.out.println("单击"); } }; // 1.1创建一个顶级容器,也就是空白窗口,并为此窗口设置属性(窗口名称,大小,显示位置,关闭设置) // 用JFrame创建一个名为frame的顶级容器,需要添加的包名为javax.swing.JFrame JFrame frame = new JFrame(); // 设置窗口名称 frame.setTitle("QQ"); // 设置窗口大小 frame.setSize(435, 450); // 设置窗口位于屏幕中央 frame.setLocationRelativeTo(null); // 参数为3时,表示关闭窗口则程序退出 /** DO_NOTHING_ON_CLOSE (定义在WindowConstants ):不要做任何事情; 要求程序处理WindowListener对象的windowClosing方法的操作。 HIDE_ON_CLOSE (在WindowConstants定义):在调用任何已注册的WindowListener对象后自动隐藏框架。 DISPOSE_ON_CLOSE (在WindowConstants定义):在调用任何已注册的WindowListener对象后自动隐藏和处理该框架。 EXIT_ON_CLOSE (在JFrame定义):使用System exit方法退出exit程序。 仅在应用程序中使用。 */ frame.setDefaultCloseOperation(3);//0:无法关闭 3:可以关闭 frame.setResizable(false); // 1.2设置窗体上组件的布局,此处使用流式布局FlowLayout,流式布局类似于word的布局 // 用FlowLayout创建一个名为f1的对象,需要添加的包名为java.awt.FlowLayout,其中LEFT表示左对齐,CENTER表示居中对齐,RIGHT表示右对齐 FlowLayout f1 = new FlowLayout(FlowLayout.LEFT); // frame窗口设置为f1的流式左对齐 frame.setLayout(f1); // 1.3在窗体上添加图片,文字 // 在添加图片之前,先把图片从磁盘中加载到内存中来,使用ImageIcon,需要添加的包名为javax.swing.ImageIcon,括号中为图片路径,路径中要使用”/”,不能使用”\” ImageIcon imag1 = new ImageIcon("img/qq.png"); // JLabel可在顶级容器中添加图片文字,需要添加的包名javax.swing.JLabel,此处将上面加载的图片创建为一个JLabel对象 JLabel pic1 = new JLabel(imag1); // 将创建的图片对象添加到 窗口上 frame.add(pic1); // 创建一个空的JLabel,它的长度宽度为110,30,因为窗口是流式左对齐,为了将”账号”一栏添加在正中间,所以左侧由空的JLabel填充 JLabel name1 = new JLabel(); // 设置空JLabel长度大小,此处不能使用setSize设置大小,setSize只能设置顶级容器大小,此处用setPreferredSize,Dimension给出大小,需要添加的包名为java.awt.Dimension. name1.setPreferredSize(new Dimension(70, 30)); // 将空JLabel添加入窗口 frame.add(name1); // 同上,此处添加的不是空JLabel,而是内容为“账号”的JLabel JLabel name = new JLabel("账号:"); frame.add(name); // JTextField在窗口上添加一个可输入可见文本的文本框,需要添加的包名为javax.swing.JTextField. nametext.addKeyListener(kl); // 设置文本框大小 nametext.setPreferredSize(new Dimension(200, 30)); // 添加到窗口上 frame.add(nametext); JLabel findPsw = new JLabel("找回密码"); findPsw.setForeground(Color.BLUE); frame.add(findPsw); // 同name1 JLabel name2 = new JLabel(); name2.setPreferredSize(new Dimension(40, 30)); frame.add(name2); // 同name1 JLabel name3 = new JLabel(); name3.setPreferredSize(new Dimension(70, 30)); frame.add(name3); // 同name JLabel password = new JLabel("密码:"); frame.add(password); // JPasswordField创建一个密码文本框,里面输入的文本是不可见的,其他同nametext JPasswordField passwordtext = new JPasswordField(); passwordtext.setPreferredSize(new Dimension(200, 30)); frame.add(passwordtext); JLabel rememberPsw = new JLabel("记住密码"); rememberPsw.setForeground(Color.red); frame.add(rememberPsw); // 同name1 JLabel name4 = new JLabel(); name4.setPreferredSize(new Dimension(40, 30)); frame.add(name4); JLabel name5 = new JLabel(); name5.setPreferredSize(new Dimension(100, 30)); frame.add(name5); //ActionListener接口 ActionListener a0 = new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub System.out.println("重置数据"); } }; //ActionListener接口 ActionListener al = new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub JFrame frame = new JFrame("登录中"); frame.setLocationRelativeTo(null); frame.setBounds(20, 20, 300, 100); JLabel login= new JLabel("欢迎登录......"); login.setPreferredSize(new Dimension(30, 30)); frame.add(login); frame.setVisible(true); System.out.println("欢迎登录......"); } }; // JButton创建一个可点击的按钮,按钮上可显示文本图片 JCheckBox b1 = new JCheckBox("自动登录"); b1.setPreferredSize(new Dimension(80, 30)); b1.addMouseListener(ml); frame.add(b1); JLabel name7 = new JLabel(); name7.setPreferredSize(new Dimension(100, 30)); frame.add(name7); JCheckBox b2 = new JCheckBox("记住密码"); b2.setPreferredSize(new Dimension(80, 30)); frame.add(b2); JLabel name8 = new JLabel(); name8.setPreferredSize(new Dimension(100, 30)); frame.add(name8); JButton bu1 = new JButton("重置"); bu1.addActionListener(a0); bu1.setPreferredSize(new Dimension(80, 30)); frame.add(bu1); JLabel name6 = new JLabel(); name6.setPreferredSize(new Dimension(100, 30)); frame.add(name6); JButton bu = new JButton("登录"); bu.addActionListener(al); bu.setPreferredSize(new Dimension(80, 30)); frame.add(bu); // 设置窗口可见,此句一定要在窗口属性设置好了之后才能添加,不然无法正常显示 frame.setVisible(true); } }
结果:
用户点评