1.项目设计
这次为大家带来的是基于Oracle数据库下的GUI超市信息管理系统,因还处于Java学习阶段,代码如有缺陷,还请多多指教。话不多说,下面是本次管理系统的主要框架。
本项目模拟真实的超市管理模式,以管理员为面向对象,所要实现的功能是基本的增删改查,具体实现步骤如下:
管理员登录
进入欢迎界面
进入仓库管理界面
管理员进行增删改查
1.1管理员登录界面Login
此界面的重点在于对三个按钮的监听:
- 登录按钮logbt:对用户名、密码输入正确与否的判断
- 重置按钮resetbt:用户对当前输入内容进行重置
- 退出按钮exitbt:用户退出登录(这里设置直接退出系统)
部分代码如下:
//定义一个登录界面Login
package cn.itcast.SuperMarketTest.view;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
@SuppressWarnings("serial")
public class Login extends JFrame implements ActionListener{//继承窗体类
private JLabel username_label;//定义用户名标签
private JLabel pwd_label;//定义密码标签
private JLabel permit_label;//定义权限标签
private JTextField text1;
private JPasswordField text2;//定义文本框对象
private JRadioButton jrb1;//定义权限按钮
private Button logbt;
private Button resetbt;//定义按钮对象
private Button exitbt;//定义按钮对象
private ButtonGroup bg;
final String username="admin";
final String pwd="aaaaaa";
JPanel panel;
public Login()
{
this.setSize(700, 600);//设置窗体的大小
GUITools.center(this);
this.setTitle("超市管理系统");//设置窗体标题
this.setLayout(null);//将窗体的默认布局方式设置为无布局方式
username_label = new JLabel("用户名");
pwd_label = new JLabel("密 码");
permit_label = new JLabel("权 限");
logbt = new Button("登录");
resetbt = new Button("重置");
exitbt = new Button("退出");
jrb1=new JRadioButton("管理员");
bg=new ButtonGroup();
bg.add(jrb1);
jrb1.setSize(100,20);
jrb1.setLocation(263,290);
jrb1.setSelected(true); //初始页面默认选择权限为管理员
//设置标签的参数
username_label.setSize(60, 37);
username_label.setLocation(190,150);
pwd_label.setSize(60, 37);
pwd_label.setLocation(190,215);
permit_label.setSize(130, 40);
permit_label.setLocation(190,280);
text1=new JTextField();
text1.setSize(180,30);
text1.setLocation(270, 155);
text1.setFont(new Font("宋体",Font.PLAIN,20));
text2=new JPasswordField();
text2.setSize(180,30);
text2.setLocation(270, 220);
text2.setFont(new Font("宋体",Font.PLAIN,20));
logbt.setSize(45,30);
logbt.setLocation(230,350);
resetbt.setSize(45,30);
resetbt.setLocation(310,350);
exitbt.setSize(45,30);
exitbt.setLocation(390,350);
logbt.addActionListener(this);
resetbt.addActionListener(this);
exitbt.addActionListener(this);
this.add(username_label);
this.add(pwd_label);
this.add(permit_label);
this.add(text1);
this.add(text2);
this.add(jrb1);
this.add(logbt);
this.add(resetbt);
this.add(exitbt);
this.setVisible(true);//设置窗体可见
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand()=="登录")
{
adminlogin(); //连接到管理员界面方法
}
else if(e.getActionCommand()=="重置") {
clear();
}
else if(e.getActionCommand()=="退出") {
System.exit(0);
}
}
@SuppressWarnings("deprecation")
public void adminlogin()
{
if(username.equals(text1.getText())&&pwd.equals(text2.getText()))
{
JOptionPane.showMessageDialog(null,"登录成功!","提示消息",JOptionPane.WARNING_MESSAGE);
clear();
dispose();
this.remove(username_label);
this.remove(pwd_label);
this.remove(permit_label);
this.remove(text1);
this.remove(text2);
this.remove(jrb1);
this.remove(logbt);
this.remove(resetbt);
this.remove(exitbt);
JPanel panel = new Enter();
//创建欢迎面板
panel.setLocation(0,0);
this.add(panel);
this.repaint();
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置当关闭窗口时,保证JVM也退出
}else if(text1.getText().isEmpty()&&text2.getText().isEmpty())
{
JOptionPane.showMessageDialog(null,"请输入用户名和密码!","提示消息",JOptionPane.WARNING_MESSAGE);
}else if(text1.getText().isEmpty())
{
JOptionPane.showMessageDialog(null,"请输入用户名!","提示消息",JOptionPane.WARNING_MESSAGE);
}else if(text2.getText().isEmpty())
{
JOptionPane.showMessageDialog(null,"请输入密码!","提示消息",JOptionPane.WARNING_MESSAGE);
}else
{
JOptionPane.showMessageDialog(null,"用户名或者密码错误!\n请重新输入","提示消息",JOptionPane.ERROR_MESSAGE);
clear(); //清空输入框
}
}
//清空文本框和密码框
public void clear()
{
text1.setText("");
text2.setText("");
}
}
2.1欢迎界面Enter