水果超市管理系统(基于Java Swing、arrayList、GUI、Windowbuilding)

水果超市管理系统

1.任务描述

  1. 在水果超市中,有着各种各样的水果,为了便于管理,会将水果信息记录在水果超市管理系统中进行统一管理,通过系统可以方便地实现对水果信息的增删改查操作。其中,水果信息包括水果编号、水果名称、水果单价和计价单位等。本任务要求使用所学GUI知识,编写一个水果超市管理系统;
  2. 水果超市管理系统共包括系统欢迎界面和超市货物管理界面两个界面在系统欢迎界面通过单击“进入系统”按钮,进入超市货物管理界面,在货物管理界面就可以对水果信息实现具体的操作。例如:每当有新水果运送到超市时,就需要系统管理人员在系统中增加新水果的信息,如果超市中的水果没有了就删除该水果信息,或者数量价格等需要变更时进行修改,这些操作都可以在管理系统中完成。

2. 运行结果

  1. 首页
    在这里插入图片描述2. 进入系统后
    在这里插入图片描述

3.实现代码
Login.java

package GreenGrocer;

import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Login extends JFrame implements ActionListener {
   

	private JButton jButton;

	public static void main(String[] args) {
   
		// TODO Auto-generated method stub

		Login frame = new Login();

	}

	public Login() {
   
		JPanel jPanel = new JPanel(new BorderLayout());
		setSize(600, 400);
		this.setTitle("水果超市欢迎您!");
		this.setLocation(300, 400);
		jButton = new JButton("登入系统");
		JavaJF javaJF = new JavaJF();
		jPanel.add(javaJF, BorderLayout.CENTER);
		jPanel.add(jButton, BorderLayout.SOUTH);
		jButton.addActionListener(this);// 加入事件监听
		this.setVisible(true);
		add(jPanel);
	}

	@Override
	public void actionPerformed(ActionEvent e) {
   
		// TODO Auto-generated method stub
		if (e.getSource() == jButton) {
   
			this.dispose();// 点击时发生事件
			// new FruitManage();
			FruitManage fruitManage = new FruitManage();
			fruitManage.setBounds(0, 0, 800, 800);
			fruitManage.setTitle("水果店");
			Police police = new Police();
			fruitManage.setMyComamdListener(police);
		}
	}
}

class JavaJF extends JPanel {
   

	Image image;

	public void paint(Graphics g) {
   
		try {
   
			image = ImageIO.read(new File("D:\\mywork\\Java高级 实验4" + "\\src\\GreenGrocer\\login.png"));
			g.drawImage(image, 0, 0, 580, 350, null);
		} catch (Exception e) {
   
			// TODO: handle exception
			e.printStackTrace();
		}
	}

}

Police .java

package GreenGrocer;

import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;

public class Police extends MouseAdapter implements MyComamdListener {
   

	JTextField jTextField[];
	JTable jTable;
	JButton jButton[];
	JComboBox jComboBox[];// 复选
	JPanel jPanel;
	JScrollPane jScrollPane;
	DefaultTableModel defaultTableModel;
	FruitDAO fruitDAO;
	int selectedRow;

	@Override
	public void actionPerformed(ActionEvent e) {
   
		// TODO Auto-generated method stub
		Fruit fruit;

		if (e.getActionCommand().equals("添加水果")) {
   
			fruit = new Fruit();

			// jPanel.getForeground();
			if (!fruitDAO.isExist(jTextField[0].getText())) {
   
				try {
   
					String[] rowValues = {
    jTextField[0].getText(), jTextField[1].getText(), jTextField[2].getText(),
							jComboBox[0].getSelectedItem() + "" };
					fruit.setNoString(rowValues[0]);
					fruit.setNameString(rowValues[1]);
					fruit.setPer_Price(Double.parseDouble(rowValues[2]));
					fruit.setUnit(rowValues[3]);
					defaultTableModel.addRow(rowValues);
					fruitDAO.addFruit(fruit);

					for (int i = 0; i < 3; i++) {
   
						jTextField[i].setText("");
					}

					jTable.repaint();// 刷新
				} catch (Exception exception) {
   

				}
			} else {
   
				JOptionPane
好的,以下是一个简单的基于Java Swing的图书管理系统示例: ```java import javax.swing.*; import javax.swing.table.DefaultTableModel; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; public class LibraryManagementSystem extends JFrame implements ActionListener { private JLabel headerLabel; private JPanel mainPanel; private JTextField titleField, authorField, yearField; private JButton addButton, removeButton, updateButton; private JTable table; private DefaultTableModel model; private ArrayList<Book> books; public LibraryManagementSystem() { super("图书管理系统"); // 初始化图书列表 books = new ArrayList<>(); books.add(new Book("《Java编程思想》", "Bruce Eckel", "2002")); books.add(new Book("《Java核心技术》", "Cay S. Horstmann", "2016")); books.add(new Book("《深入浅出设计模式》", "程杰", "2015")); // 初始化界面 initUI(); setSize(600, 400); setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } private void initUI() { // 创建标题 headerLabel = new JLabel("图书列表"); headerLabel.setFont(new Font("微软雅黑", Font.BOLD, 20)); headerLabel.setHorizontalAlignment(SwingConstants.CENTER); // 创建表格 model = new DefaultTableModel(); model.addColumn("书名"); model.addColumn("作者"); model.addColumn("出版年份"); for (Book book : books) { model.addRow(new Object[]{book.getTitle(), book.getAuthor(), book.getYear()}); } table = new JTable(model); // 创建添加按钮 addButton = new JButton("添加"); addButton.addActionListener(this); // 创建删除按钮 removeButton = new JButton("删除"); removeButton.addActionListener(this); // 创建更新按钮 updateButton = new JButton("更新"); updateButton.addActionListener(this); // 创建输入框和标签 titleField = new JTextField(); authorField = new JTextField(); yearField = new JTextField(); JLabel titleLabel = new JLabel("书名:"); JLabel authorLabel = new JLabel("作者:"); JLabel yearLabel = new JLabel("出版年份:"); // 创建主面板 mainPanel = new JPanel(new BorderLayout()); JPanel topPanel = new JPanel(new GridLayout(2, 3, 5, 5)); topPanel.add(titleLabel); topPanel.add(titleField); topPanel.add(addButton); topPanel.add(authorLabel); topPanel.add(authorField); topPanel.add(removeButton); topPanel.add(yearLabel); topPanel.add(yearField); topPanel.add(updateButton); mainPanel.add(headerLabel, BorderLayout.NORTH); mainPanel.add(new JScrollPane(table), BorderLayout.CENTER); mainPanel.add(topPanel, BorderLayout.SOUTH); // 添加主面板到窗口中 add(mainPanel); } @Override public void actionPerformed(ActionEvent e) { if (e.getSource() == addButton) { // 添加新书 String title = titleField.getText(); String author = authorField.getText(); String year = yearField.getText(); if (!title.isEmpty() && !author.isEmpty() && !year.isEmpty()) { books.add(new Book(title, author, year)); model.addRow(new Object[]{title, author, year}); titleField.setText(""); authorField.setText(""); yearField.setText(""); } } else if (e.getSource() == removeButton) { // 删除选中的书 int[] selectedRows = table.getSelectedRows(); for (int i = selectedRows.length - 1; i >= 0; i--) { books.remove(selectedRows[i]); model.removeRow(selectedRows[i]); } } else if (e.getSource() == updateButton) { // 更新选中的书 int row = table.getSelectedRow(); if (row >= 0) { String title = titleField.getText(); String author = authorField.getText(); String year = yearField.getText(); if (!title.isEmpty() && !author.isEmpty() && !year.isEmpty()) { Book book = books.get(row); book.setTitle(title); book.setAuthor(author); book.setYear(year); model.setValueAt(title, row, 0); model.setValueAt(author, row, 1); model.setValueAt(year, row, 2); } } } } public static void main(String[] args) { new LibraryManagementSystem(); } } class Book { private String title; private String author; private String year; public Book(String title, String author, String year) { this.title = title; this.author = author; this.year = year; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public String getYear() { return year; } public void setYear(String year) { this.year = year; } } ``` 这个图书管理系统使用了Java Swing库来创建界面,可以添加、删除和更新图书。它包含一个Book类来表示每个书籍的属性,并使用一个ArrayList来存储所有的书籍。控制器是LibraryManagementSystem类,负责处理用户与图书列表的交互并更新界面。
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值