package Fruit.view;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Font;
import javax.swing.table.DefaultTableModel;
import Fruit.dao.DatabaseAlter;
import Fruit.domain.Fruit;
@SuppressWarnings("serial")
public class MainView extends JFrame {
private JPanel contentPane;
private JTextField fruitId2;
private JTextField fruitname2;
private JTextField fruitPrice2;
private JTextField fruitUnit2;
private JScrollPane scrollPane;
private JTable table;
public MainView() {
setTitle("\u8D85\u5E02\u8D27\u7269\u7BA1\u7406\u7CFB\u7EDF");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 910, 602);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel label = new JLabel("\u6C34\u679C\u7F16\u53F7");
label.setBounds(96, 405, 81, 21);
contentPane.add(label);
JLabel label_1 = new JLabel("\u6C34\u679C\u540D\u79F0");
label_1.setBounds(225, 405, 81, 21);
contentPane.add(label_1);
JLabel label_2 = new JLabel("\u6C34\u679C\u5355\u4EF7");
label_2.setBounds(357, 405, 81, 21);
contentPane.add(label_2);
JLabel label_3 = new JLabel("\u8BA1\u4EF7\u5355\u4F4D");
label_3.setBounds(484, 405, 81, 21);
contentPane.add(label_3);
JButton addFruit = new JButton("\u6DFB\u52A0\u6C34\u679C");
addFruit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
addit(e);
}
});
addFruit.setBounds(676, 397, 123, 29);
contentPane.add(addFruit);
JButton delFruit = new JButton("\u5220\u9664\u6C34\u679C");
delFruit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
delit(e);
}
});
delFruit.setBounds(676, 442, 123, 29);
contentPane.add(delFruit);
JButton alterFruit = new JButton("\u4FEE\u6539\u6C34\u679C");
alterFruit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
alterit(e);
}
});
alterFruit.setBounds(676, 489, 123, 29);
contentPane.add(alterFruit);
fruitId2 = new JTextField();
fruitId2.setBounds(96, 448, 96, 27);
contentPane.add(fruitId2);
fruitId2.setColumns(10);
fruitname2 = new JTextField();
fruitname2.setBounds(225, 448, 96, 27);
contentPane.add(fruitname2);
fruitname2.setColumns(10);
fruitPrice2 = new JTextField();
fruitPrice2.setBounds(357, 448, 96, 27);
contentPane.add(fruitPrice2);
fruitPrice2.setColumns(10);
fruitUnit2 = new JTextField();
fruitUnit2.setBounds(484, 448, 96, 27);
contentPane.add(fruitUnit2);
fruitUnit2.setColumns(10);
JLabel label_4 = new JLabel("\u6C34\u679C\u5217\u8868");
label_4.setFont(new Font("宋体", Font.PLAIN, 22));
label_4.setBounds(405, 11, 152, 35);
contentPane.add(label_4);
scrollPane = new JScrollPane();
scrollPane.setEnabled(false);
scrollPane.setBounds(98, 61, 701, 328);
contentPane.add(scrollPane);
reflash(scrollPane, table);
}
private static void reflash(JScrollPane scrollPane,JTable table) { //创建与刷新表格
table = new JTable();
table.setModel(
new DefaultTableModel(
DatabaseAlter.select(),new String[] {"水果编号", "水果名称", "水果单价", "计价标准"})
{
boolean[] columnEditables = new boolean[] {
false, false, false, false
};
public boolean isCellEditable(int row, int column) {
return columnEditables[column];
}
});
scrollPane.setViewportView(table);
}
protected void alterit(ActionEvent e) { //修改水果
if(fruitId2.getText() != null && fruitname2.getText() != null
&& fruitPrice2.getText() != null && fruitUnit2.getText() != null) {
if(DatabaseAlter.alter(new Fruit(fruitId2.getText(),
fruitname2.getText(),fruitPrice2.getText(),fruitUnit2.getText())) == false)
new InputError().setVisible(true);
}
MainView.reflash(scrollPane, table);
}
protected void delit(ActionEvent e) { //删除水果
if(fruitId2.getText() != null) {
if(DatabaseAlter.del(new Fruit(fruitId2.getText(),"0","0","0")) == false)
new InputError().setVisible(true);
}
MainView.reflash(scrollPane, table);
}
protected void addit(ActionEvent e) { //添加水果
if(fruitId2.getText() != null && fruitname2.getText() != null
&& fruitPrice2.getText() != null && fruitUnit2.getText() != null) {
if(DatabaseAlter.add(new Fruit(fruitId2.getText(),
fruitname2.getText(),fruitPrice2.getText(),fruitUnit2.getText()))==false)
new InputError().setVisible(true);
}
MainView.reflash(scrollPane, table);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Java案例水果超市管理系统Swing实现。使用了分层原理进行了分层操作。具体要求如下:完成水果超市管理系统功能,表格可以显示数据库中数据,实现添加、修改、删除功能。 提示:和数据库连接,使用JDBC那章创建的底层类。如Dao层类,完成相应功能。 通过实验掌握图形用户界面的创建和布局方法。一、实验名称: GUI(2) 二、实验目的:通过实验掌握图形用户界面的创建和布局方法。
资源推荐
资源详情
资源评论
收起资源包目录
Fruit_Supermarket.zip (22个子文件)
Fruit_Supermarket
bin
Test
Test.class 507B
Test$1.class 718B
Fruit
dao
DatabaseAlter.class 4KB
domain
Fruit.class 2KB
view
MainView$1.class 663B
MainView$2.class 663B
InputError$1.class 675B
MainView$4.class 761B
MainView.class 4KB
InputError.class 2KB
MainView$3.class 665B
service
util
JDBC_con.class 2KB
.settings
org.eclipse.jdt.core.prefs 598B
src
Test
Test.java 371B
Fruit
dao
DatabaseAlter.java 3KB
domain
Fruit.java 999B
view
MainView.java 5KB
InputError.java 1KB
service
util
JDBC_con.java 883B
.project 393B
.classpath 378B
lib
mysql-connector-java-5.0.8-bin.jar 528KB
共 22 条
- 1
资源评论
RIDDLE!
- 粉丝: 71
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功