Java界面设计GUI

界面主要是先申请一个窗口,窗口只能有一个,然后在窗口中可以有多个面板,多个面板的布局可以实现美丽的界面

  • 首先申请一个JFrame窗口,可以设置窗口的大小及位置
  • 然后申请JPanel面板,可以设置窗口的大小及位置
  • 然后可以在面板上申请组件,例如标签,文本框,按钮和下拉框等

这个是我做出的一个简单的图书管理系统界面

Java界面设计GUI_第1张图片

具体代码如下,解释大都有注释

package com.java.view;

import java.awt.Dimension;
import java.awt.Font;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class LogOnJFrame {
	/*
	 * 登录界面
	 */
	public static void main(String[] args) {
		/*
		 * 对窗口的操作,包括创建,设置标题,设置大小以及位置
		 */
		JFrame frame = new JFrame();// 创建一个窗口
		frame.setTitle("图书管理系统");// 设置窗口标题
		frame.setBounds(250, 100, 825, 600);// 设置窗口位置和大小

		/*
		 * 这是对整个窗口布局的格式化,已达到可以任意放面板,标签,文本框,按钮等东西
		 */
		// FlowLayout fl = new FlowLayout(FlowLayout.CENTER, 10, 10);//
		// 实例化FlowLayout流式布局类的对象
		frame.setLayout(null);// 布局为空

		/*
		 * 创建面板,以达到良好的布局
		 */
		JPanel panel = new JPanel();// JPanel:面板组件,非顶层容器
		JPanel panel1 = new JPanel();
		JPanel panel2 = new JPanel();
		JPanel panel3 = new JPanel();
		JPanel panel4 = new JPanel();
		JPanel panel5 = new JPanel();
		/*
		 * 设置一个大标题,即图书管理系统,放到面板panel1里面
		 */
		JLabel labTitle = new JLabel("图书管理系统");//设置窗口标题
		Font font1 = new Font("宋体", Font.BOLD, 50);//设置字形,字体和字号
		labTitle.setFont(font1);
		panel1.add(labTitle);
		panel1.setBounds(260, 20, 300, 80);//设置窗口位置和大小
		frame.add(panel1);

		/*
		 * 设置身份标签
		 */
		Font font = new Font("宋体", Font.BOLD, 16);
		JLabel labCard = new JLabel("身份  ");// 用标签来表示文本或图片
		labCard.setFont(font);// 设置标签字体的大小
		panel.add(labCard);// 将lable标签添加到面板上

		/*
		 * 设置下拉框
		 */
		JComboBox jcb = new JComboBox();
		Dimension dim = new Dimension(200, 30);//设置组件的宽和高
		jcb.setPreferredSize(dim);

		jcb.addItem("普通账户");
		jcb.addItem("管理员账户");
		jcb.setFont(font);
		panel.add(jcb);
		panel.setBounds(250, 100, 300, 50);
		frame.add(panel);

		/*
		 * /* 创建一个账号标签,并设置字体以及字体大小
		 */
		JLabel labName = new JLabel("账号  ");// 用标签来表示文本或图片
		labName.setFont(font);// 设置标签字体的大小
		panel2.add(labName);// 将lable标签添加到面板上

		/*
		 * 创建一个文本框,并设置大小
		 */
		JTextField textName = new JTextField();
		textName.setPreferredSize(dim);

		panel2.add(textName);
		panel2.setBounds(250, 150, 300, 50);// 设置面板的位置和大小
		frame.add(panel2);// 添加面板到窗口中
		/*
		 * 创建一个密码标签
		 */
		JLabel labPass = new JLabel("密码  ");
		labPass.setFont(font);
		panel3.add(labPass);
		/*
		 * 设置密码文本框
		 */
		JPasswordField textPass = new JPasswordField();
		textPass.setPreferredSize(dim);
		panel3.add(textPass);
		panel3.setBounds(250, 200, 300, 50);
		frame.add(panel3);

		/*
		 * 设置一个按钮
		 */
		Dimension dim1 = new Dimension(80, 30);
		JButton jb1 = new JButton("登录");
		JButton jb2 = new JButton("注册");
		jb1.setFont(font);
		jb2.setFont(font);
		jb1.setPreferredSize(dim1);
		jb2.setPreferredSize(dim1);
		panel4.add(jb1);
		panel5.add(jb2);
		panel4.setBounds(325, 250, 80, 50);
		panel5.setBounds(445, 250, 80, 50);
		frame.add(panel4);
		frame.add(panel5);

		frame.setVisible(true);// 显示窗口
	}

}

 

你可能感兴趣的:(Java基础)