java 用户图形界面选择题,summer练习题之java图形用户界面应用,summer练习题

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);

}

}

结果:

2b26f037c635af00a739b739e7607403.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值