这是一次作业,然后直接上项目吧!
一.展示图片,代码在下边
(1)登录界面代码//头文件你自己写,我没写,这个下边还有按键监听,防止注入
public class loginAndEnroll extends JFrame{//登录界面
JPanel centerPanel=new JPanel(null);
JLabel nameLabel=new JLabel("教务三管系统");
JLabel userNameLabel=new JLabel("用户名");
JTextField userTxt= new JTextField();
JLabel pwdLabel=new JLabel("密码");
JPasswordField pwdField=new JPasswordField();
JButton loginBtn=new JButton("登录");
JButton resetBtn=new JButton("注册");
JMenuBar menuBar = new JMenuBar();
JMenu menu1=new JMenu("帮助");
JMenuItem menuItem1=new JMenuItem("关于本产品");
JMenuItem menuItem2=new JMenuItem("合作");
JMenuItem menuItem3=new JMenuItem("使用说明");
JMenu menu2=new JMenu("设置");
JMenuItem menuItem4=new JMenuItem("数据库连接");
JMenu menu3=new JMenu("游客模式");
JMenuItem menuItem5=new JMenuItem("仅供GUI阅览");
public loginAndEnroll(){
Font centerFont1=new Font("华文行楷",Font.PLAIN,40);
Font centerFont=new Font("楷体",Font.BOLD,20);
nameLabel.setFont(centerFont1);
userNameLabel.setFont(centerFont);
pwdLabel.setFont(centerFont);
loginBtn.setFont(centerFont);
resetBtn.setFont(centerFont);
nameLabel.setLocation(170,40);
nameLabel.setSize(1000,35);
userNameLabel.setLocation(60,120);
userNameLabel.setSize(100,35);
userTxt.setLocation(130,120);
userTxt.setSize(300,35);
pwdLabel.setLocation(60,160);
pwdLabel.setSize(100,35);
pwdField.setLocation(130,160);
pwdField.setSize(300,35);
loginBtn.setLocation(120,210);
loginBtn.setSize(80,35);
resetBtn.setLocation(300,210);
resetBtn.setSize(80,35);
menu1.add(menuItem1);
menu1.add(menuItem2);
menu1.add(menuItem3);
menu2.add(menuItem4);
menu3.add(menuItem5);
menuBar.add(menu1);
menuBar.add(menu2);
menuBar.add(menu3);
setJMenuBar(menuBar);
//centerPanel.add(menuBar);
centerPanel.add(nameLabel);
centerPanel.add(userNameLabel);
centerPanel.add(userTxt);
centerPanel.add(pwdLabel);
centerPanel.add(pwdField);
centerPanel.add(loginBtn);
centerPanel.add(resetBtn);
menuItem4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
new initialize();
}
});
menuItem5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
bmenu();
}
});
loginBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String user=userTxt.getText();//提取输入用户名
String pws=pwdField.getText();//提取输入密码
int temp=Function.login(user,pws);
if(temp==-1) {//如果正确调用bmenu
connNO a=new connNO();
}
else if(temp==1){
bmenu();
}
else{//如果错误
loginNo a=new loginNo();
}
}
//清空文本框
});
resetBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
enroll a=new enroll();//进入注册页面
}
//清空文本框
});
setContentPane(centerPanel);
setSize(600,400);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setVisible(true);
userTxt.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent event) {
char keyChar = event.getKeyChar();
if (keyChar >= 65 && keyChar <= 90 // 只接收字母
//|| (keyChar == '.' && ((JTextField)event.getSource()).getText().indexOf(".") == -1)//小数点唯一
// 可以接收小数点
|| keyChar == '\b' // 可以接收 backspace
||keyChar >= 97 && keyChar <= 122 // 只接收字母
||keyChar >= '0' && keyChar <= '9' // 只接收字母
) {
return;
}
// 当输入在限制之外,发出声音提示
Toolkit.getDefaultToolkit().beep();
// 限制之外的输入不出现在文本框中
event.consume();//用于指示当前事件已被处理,不应再由其他组件或监听器进一步处理。
}
});
pwdField.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent event) {
char keyChar = event.getKeyChar();
if (keyChar >= 65 && keyChar <= 90 // 只接收字母
//|| (keyChar == '.' && ((JTextField)event.getSource()).getText().indexOf(".") == -1)//小数点唯一
// 可以接收小数点
|| keyChar == '\b' // 可以接收 backspace
||keyChar >= 97 && keyChar <= 122 // 只接收字母
||keyChar >= '0' && keyChar <= '9' // 只接收字母
) {
return;
}
// 当输入在限制之外,发出声音提示
Toolkit.getDefaultToolkit().beep();
// 限制之外的输入不出现在文本框中
event.consume();
}
});
}
public static void main(String[] args) {
loginAndEnroll a=new loginAndEnroll();
}
}
(2)注册页面
package firstGUI;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import Function.Function;
public class enroll extends JFrame {//注册界面
JPanel centerPanel=new JPanel(null);
JLabel nameLabel=new JLabel("注册页面");
JLabel userNameLabel=new JLabel("用户名");
JTextField userTxt= new JTextField();
JLabel pwdLabel=new JLabel("密码");
JLabel pwdLabelagain=new JLabel("确认密码");
JPasswordField pwdField=new JPasswordField();
JPasswordField pwdFieldagain=new JPasswordField();
JButton resetBtn=new JButton("注册");
public enroll() {
Font centerFont1 = new Font("华文行楷", Font.PLAIN, 40);
Font centerFont = new Font("楷体", Font.BOLD, 20);
nameLabel.setFont(centerFont1);
userNameLabel.setFont(centerFont);
pwdLabel.setFont(centerFont);
pwdLabelagain.setFont(centerFont);
resetBtn.setFont(centerFont);
nameLabel.setLocation(170, 40);
nameLabel.setSize(1000, 35);
userNameLabel.setLocation(60, 120);
userNameLabel.setSize(100, 35);
userTxt.setLocation(150, 120);
userTxt.setSize(300, 35);
pwdLabel.setLocation(60, 160);
pwdLabel.setSize(100, 35);
pwdField.setLocation(150, 160);
pwdField.setSize(300, 35);
pwdLabelagain.setLocation(60, 200);
pwdLabelagain.setSize(100, 35);
pwdFieldagain.setLocation(150, 200);
pwdFieldagain.setSize(300, 35);
resetBtn.setLocation(300, 250);
resetBtn.setSize(80, 35);
centerPanel.add(nameLabel);
centerPanel.add(userNameLabel);
centerPanel.add(userTxt);
centerPanel.add(pwdLabel);
centerPanel.add(pwdField);
centerPanel.add(pwdLabelagain);
centerPanel.add(pwdFieldagain);
centerPanel.add(resetBtn);
resetBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String user=userTxt.getText();
String pws=pwdField.getText();
String pwsAgain=pwdFieldagain.getText();
int temp=Function.eroll(user,pws);
if(temp==-1){
connNO a=new connNO();
}
else if(!pws.equals(pwsAgain)){//确定密码不一致
byy a=new byy();
}
else if(temp==0){
pdUser a=new pdUser();
}
else{//注册成功.进行登录
bgg a=new bgg();
}
}
//清空文本框
});
setContentPane(centerPanel);
setSize(600,400);
setLocationRelativeTo(null);
// setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setVisible(true);
// setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //窗体关闭,程序结束运行。
}
}
(3)注册成功
package firstGUI;
import javax.swing.*;
import java.awt.*;
public class bgg extends JFrame {
JPanel centerPanel=new JPanel(null);
JLabel No=new JLabel("注册成功");
public bgg(){
Font centerFont=new Font("楷体",Font.PLAIN,20);
No.setFont(centerFont);
No.setLocation(30,40);
No.setSize(200,35);
centerPanel.add(No);
setContentPane(centerPanel);
setSize(200,150);//型号
setLocationRelativeTo(null);
setResizable(false);//可转变
setVisible(true);//可见
}
}
(4)注册时密码重复
package firstGUI;
import javax.swing.*;
import java.awt.*;
public class byy extends JFrame {//密码不一致
JPanel centerPanel=new JPanel(null);
JLabel No=new JLabel("密码不一致");
public byy(){
Font centerFont=new Font("楷体",Font.PLAIN,20);
No.setFont(centerFont);
No.setLocation(30,40);
No.setSize(200,35);
centerPanel.add(No);
setContentPane(centerPanel);
setSize(200,150);
setLocationRelativeTo(null);
setResizable(false);
setVisible(true);
}
}
(5) 设置配置环节,自动配置上了
package firstGUI;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import Function.Function;
import javax.swing.*;
public class initialize extends JFrame {
public initialize() {
setTitle("基于Oracle数据库的配置");
// setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 200);
setLocationRelativeTo(null);
setResizable(false);
// 创建一个内容面板,并设置其布局为GridLayout
JPanel contentPane = new JPanel(new GridLayout(4, 2, 10, 10)); // 3行2列,水平和垂直间距为10
Font centerFont = new Font("楷体", Font.BOLD, 20);
JLabel ipLabel = new JLabel("ip");
JLabel userLabel = new JLabel("用户");
JLabel passwordLabel = new JLabel("密码");
JTextField ipField = new JTextField("127.0.0.1/xe");
JTextField userField = new JTextField("system");
JTextField passwordField = new JTextField("800");
JButton sureButton = new JButton("确定");
JButton clearButton = new JButton("清除");
// 设置字体
ipLabel.setFont(centerFont);
userLabel.setFont(centerFont);
passwordLabel.setFont(centerFont);
ipField.setFont(centerFont);
userField.setFont(centerFont);
passwordField.setFont(centerFont);
// 添加组件到内容面板
contentPane.add(ipLabel);
contentPane.add(ipField);
contentPane.add(userLabel);
contentPane.add(userField);
contentPane.add(passwordLabel);
contentPane.add(passwordField);
contentPane.add(sureButton);
contentPane.add(clearButton);
// 将内容面板设置为JFrame的内容面板
setContentPane(contentPane);
// 显示窗口
setVisible(true);
sureButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent E){
String a=ipField.getText();
String b=userField.getText();
String c=passwordField.getText();
if(Function.start01(a,b,c)){
new consuccessful();
}else new confail() ;
}
});
clearButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent E){
ipField.setText("");
userField.setText("");
passwordField.setText("");
}
});
}
// public static void main(String[] args) {
// new initialize();
// }
}
(6)登录失败的界面
package firstGUI;
import javax.swing.*;
import java.awt.*;
public class loginNo extends JFrame {//登录失败
JPanel centerPanel=new JPanel(null);
JLabel No=new JLabel("用户名或密码错误");
public loginNo(){
Font centerFont=new Font("楷体",Font.PLAIN,20);
No.setFont(centerFont);
No.setLocation(50,40);
No.setSize(200,35);
centerPanel.add(No);
setContentPane(centerPanel);
setSize(300,150);
setLocationRelativeTo(null);
setResizable(false);
setVisible(true);
}
}
(7)注册重复的界面
package firstGUI;
import javax.swing.*;
import java.awt.*;
public class pdUser extends JFrame {//注册的用户名已有
JPanel centerPanel=new JPanel(null);
JLabel No=new JLabel("已有该用户名");
public pdUser(){
Font centerFont=new Font("楷体",Font.PLAIN,20);
No.setFont(centerFont);
No.setLocation(30,40);
No.setSize(200,35);
centerPanel.add(No);
setContentPane(centerPanel);
setSize(200,150);
setLocationRelativeTo(null);
setResizable(false);
setVisible(true);
}
}
(8)
不想写了,不写了