Java Swing初步(一)

        我个人觉得写程序要有一个好的用户体验,首先重要的一点就是要有一个酷炫的界面,这个才能让用户一眼就用想要使用的冲动,当然还有就是强大的功能。我现在还是刚开始学界面这一块,所以我就谈谈我的一些学习的感受吧。

 

        1、首先在Java中的图形界面的分类:(1)按包名分有awt和swing两种分别在java.awt和javax.swing包下;(2)按用途划分也是两种,一种容器组件类(可以装载其它元素或者容器),还有就是元素组件类(用于显示文本或者图片等元素)

 

        2、几种常用的容器组件以及元素组件

                (1)容器组件(javax.swing包下):

                          ①JFrame(窗体容器组件类,顶级容器)

                          ②JPanel(面板容器组件类)

                (2)元素组件(javax.swing包下):

                          ①JTextField                文本输入框元素组件类     用于接收用户输入的信息,直接显示在输入框中

                          ②JLabel                      标签元素组件类               用于显示文本图片等元素

                          ③JPasswordField        密码输入框元素组件        用于接收用户输入的信息,并以某一种符号代替显示

                          ④JCheckBox               复选框元素组件类            供用户选择,也可以显示文本图片等

                          ⑤JComboBox              下拉列表框                      供用户选择,也可以供用户输入信息

                (3)常用的布局类(java.awt包下):

                          ①FlowLayout               流式布局(有点类似于Word文档中输入文本的方式,其中的元素组件相当于Word文档中的文字)

                          ②BorderLayout           边框布局(将容器分为五个部分,分别命名为,东,西,南,北,中)

                          ③GridLayout               网格布局(布局方式类似用一张表格)

 

        3、由于刚开始学界面,所以就简单做了一个登录的界面,下面是我的代码

 

package com.why.ui;

import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;

public class Login {

	private JLabel jlName = null;//显示账号两个字
	private JLabel jlPwd = null;//显示密码两个字
	private JComboBox<String> username = null;//供用户输入账号的输入框,这里我用下拉列表框完全仿造qq登陆界面
	private JPasswordField password = null;//密码输入框
	private JCheckBox rememberPwd = null;//是否记住密码的复选框
	private JCheckBox autoLogin = null;//是否自动登陆的复选框
	private JButton loginButton = null;//登陆按钮

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Login login = new Login();
		login.init();
	}

	/**
	 * 初始化界面的函数
	 */
	public void init() {
		//生成一个窗体容器,用于添加显示元素
		JFrame jf = new JFrame();
		
		//设置窗体大小
		jf.setSize(260, 180);
		
		//设置窗体是否可以改变大小
		jf.setResizable(false);
		
		//设置点击关闭按钮的动作
		jf.setDefaultCloseOperation(3);
		
		//设置窗体的标题
		jf.setTitle("简单登陆界面");
		
		//设置窗体显示位置,这里居中显示
		jf.setLocationRelativeTo(null);
		
		//实例化一个布局类
		FlowLayout fl = new FlowLayout();
		
		//设置布局中水平和竖直方向上相邻组件的间距
		fl.setHgap(15);
		fl.setVgap(10);
		
		//给窗体类设置布局方式
		jf.setLayout(fl);
		
		jlName = new JLabel("账号");
		jf.add(jlName);
		
		//下拉列表设置文本
		String[] name = new String[] { "1343232489", "3342829389", "4383928493", "1378684171" };
		
		//实例化一个下拉列表
		username = new JComboBox<String>(name);
		//给下拉列表设置大小
		username.setPreferredSize(new Dimension(168, 23));
		//设置下拉列表为可编辑
		username.setEditable(true);
		jf.add(username);
		
		jlPwd = new JLabel("密码");
		jf.add(jlPwd);
		
		//实例化一个密码输入框
		password = new JPasswordField(15);
		jf.add(password);
		
		rememberPwd = new JCheckBox("记住密码");
		jf.add(rememberPwd);
		
		autoLogin = new JCheckBox("自动登陆");
		jf.add(autoLogin);
		
		loginButton = new JButton("登陆");
		jf.add(loginButton);
		
		//设置窗体可见,这一步必须在所有元素添加完成才能设置
		jf.setVisible(true);
	}

}

 这个是效果图:

Java Swing初步(一)
 

你可能感兴趣的:(java,swing)