JAVA语言代码练习:package com.wbq.event
小标 2018-09-10 来源 : 阅读 525 评论 0

摘要:本文主要向大家介绍了JAVA语言代码练习:package com.wbq.event,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

本文主要向大家介绍了JAVA语言代码练习:package com.wbq.event,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

package com.wbq.event;

import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Label;
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.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.*;

//1.创建名为Login的类,在该类中创建一个名为InitUI的方法,图形界面就在此方法中实现
public class Login {
   
   public static void main(String[] args) {
       Login log = new Login();
       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());
               nametext.setText("");
               System.out.println(nametext.getText());
           }
           //松开键
           @Override
           public void keyReleased(KeyEvent arg0) {
               // TODO Auto-generated method stub
               System.out.println("键盘释放了..");
           }
           //按下键时调用。
           @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(550, 580);
       // 设置窗口位于屏幕中央
       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:可以关闭

       // 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/111.jpg");
       // 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(110, 30));
       // 将空JLabel添加入窗口
       frame.add(name1);

       // 同上,此处添加的不是空JLabel,而是内容为“账号”的JLabel
       JLabel name = new JLabel("账号:");
       frame.add(name);
       

       // JTextField在窗口上添加一个可输入可见文本的文本框,需要添加的包名为javax.swing.JTextField.
       //JTextField nametext = new JTextField();
       nametext.addKeyListener(kl);
       
       // 设置文本框大小
       nametext.setPreferredSize(new Dimension(220, 30));
       // 添加到窗口上
       frame.add(nametext);

       // 同name1
       JLabel name2 = new JLabel();
       name2.setPreferredSize(new Dimension(110, 30));
       frame.add(name2);

       // 同name1
       JLabel name3 = new JLabel();
       name3.setPreferredSize(new Dimension(110, 30));
       frame.add(name3);

       // 同name
       JLabel password = new JLabel("密码:");
       frame.add(password);
       

       // JPasswordField创建一个密码文本框,里面输入的文本是不可见的,其他同nametext
       JPasswordField passwordtext = new JPasswordField();
       passwordtext.setPreferredSize(new Dimension(220, 30));
       frame.add(passwordtext);

       // 同name1
       JLabel name4 = new JLabel();
       name4.setPreferredSize(new Dimension(110, 30));
       frame.add(name4);

       // 同name1
       JLabel name5 = new JLabel();
       name5.setPreferredSize(new Dimension(110, 30));
       frame.add(name5);
       

       //ActionListener接口
       ActionListener al = new ActionListener() {
           
           
           public void actionPerformed(ActionEvent arg0) {
               // TODO Auto-generated method stub
               System.out.println("被点了");
               
           }
       };
       
       JCheckBox c1 = new JCheckBox("记住密码");
       c1.setBounds(85, 155, 80, 15);
       c1.addActionListener(al);//事件注册,注册被点了这个输出事件
       c1.addMouseListener(ml);//注册鼠标事件 
       frame.add(c1);
       //自动登陆
       JCheckBox c2 = new JCheckBox("自动登陆");
       c2.setBounds(165, 155, 80, 15);
       c2.addActionListener(al);//事件注册,注册被点了这个输出事件
       c2.addMouseListener(ml);//注册鼠标事件 
       frame.add(c2);

       // JButton创建一个可点击的按钮,按钮上可显示文本图片
       JButton bu = new JButton("登录");
       bu.addActionListener(al);//事件注册,注册被点了这个输出事件
       bu.addMouseListener(ml);//注册鼠标事件 
       bu.setPreferredSize(new Dimension(560,40));
       frame.add(bu);


       // 设置窗口可见,此句一定要在窗口属性设置好了之后才能添加,不然无法正常显示
       frame.setVisible(true);
       nametext.setText("508808656");
       System.out.println(nametext.getText());
   }
}

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程