界面主要是先申请一个窗口,窗口只能有一个,然后在窗口中可以有多个面板,多个面板的布局可以实现美丽的界面
- 首先申请一个JFrame窗口,可以设置窗口的大小及位置
- 然后申请JPanel面板,可以设置窗口的大小及位置
- 然后可以在面板上申请组件,例如标签,文本框,按钮和下拉框等
这个是我做出的一个简单的图书管理系统界面
具体代码如下,解释大都有注释
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<String> jcb = new JComboBox<String>();
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);// 显示窗口
}
}