//GUI页面
package page;
import java.awt.EventQueue;
public class Page2 extends JFrame {
private JPanel contentPane;
Image img1 = page.Util.getImage("img/1.jpg");
Image img2 = page.Util.getImage("img/2.jpg");
Image img3 = page.Util.getImage("img/3.jpg");
Image img4 = page.Util.getImage("img/4.jpg");
Image img5 = page.Util.getImage("img/5.jpg");
Image img6 = page.Util.getImage("img/6.jpg");
Image img7 = page.Util.getImage("img/7.jpg");
Image img8 = page.Util.getImage("img/8.jpg");
private JTextField bianhao;
private JTextField shuliang;
TestClothes tc = new TestClothes();
public static int w;
// 設置文本域的名字ta
final JTextArea ta = new JTextArea();
private JTextField ta1;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Page2 frame = new Page2();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
@Override
public void paint(Graphics g) {
super.paint(g);
g.drawImage(img1, 20, 60, 100, 100, null, null);
g.drawImage(img2, 180, 60, 100, 100, null, null);
g.drawImage(img3, 340, 60, 100, 100, null, null);
g.drawImage(img4, 480, 60, 100, 100, null, null);
g.drawImage(img5, 20, 250, 100, 100, null, null);
g.drawImage(img6, 180, 250, 100, 100, null, null);
g.drawImage(img7, 340, 250, 100, 100, null, null);
g.drawImage(img8, 480, 250, 100, 100, null, null);
}
/**
* Create the frame.
*/
public Page2() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(400, 30, 600, 600);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
setTitle("第二组supermarket");
JPanel panel = new JPanel();
panel.setBounds(10, 10, 564, 368);
contentPane.add(panel);
panel.setLayout(null);
// panel.removeAll();
JLabel a5 = new JLabel("005 \uFFE5598");
a5.setBounds(31, 317, 82, 15);
panel.add(a5);
JLabel a6 = new JLabel("006 \uFFE5698");
a6.setBounds(172, 317, 92, 15);
panel.add(a6);
JLabel a7 = new JLabel("007 \uFFE5798");
a7.setBounds(325, 317, 82, 15);
panel.add(a7);
JLabel a8 = new JLabel("010 \uFFE5898");
a8.setBounds(467, 317, 87, 15);
panel.add(a8);
JLabel a3 = new JLabel("003 \uFFE5398");
a3.setBounds(325, 144, 82, 15);
panel.add(a3);
JLabel a2 = new JLabel("002 \uFFE5298");
a2.setBounds(172, 144, 75, 15);
panel.add(a2);
JLabel a1 = new JLabel("001 \uFFE5198");
// final TestClothes tc=new TestClothes();
a1.setBounds(31, 144, 92, 15);
panel.add(a1);
JLabel a4 = new JLabel("004 \uFFE5498");
a4.setBounds(467, 144, 87, 15);
panel.add(a4);
final JButton btnNewButton_1 = new JButton("\u98DF\u54C1\u7C7B");
btnNewButton_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(btnNewButton_1, "此类商品还未上架!");
}
});
btnNewButton_1.setBounds(162, 388, 93, 23);
contentPane.add(btnNewButton_1);
final JButton btnNewButton_2 = new JButton("\u6587\u5177\u7C7B");
btnNewButton_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(btnNewButton_2, "此类商品还未上架!");
}
});
btnNewButton_2.setBounds(303, 388, 93, 23);
contentPane.add(btnNewButton_2);
final JButton btnNewButton_3 = new JButton("\u7535\u5B50\u7C7B");
btnNewButton_3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(btnNewButton_3, "此类商品还未上架!");
}
});
btnNewButton_3.setBounds(461, 388, 93, 23);
contentPane.add(btnNewButton_3);
JButton btnNewButton_4 = new JButton("\u52A0\u5165\u8D2D\u7269\u8F66");
btnNewButton_4.addActionListener(new ActionListener() {
// 添加的方法
public void actionPerformed(ActionEvent e) {
double d = 0;
if (bianhao.getText().equals("001")) {
d = 198;
} else if (bianhao.getText().equals("002")) {
d = 298;
} else if (bianhao.getText().equals("003")) {
d = 398;
} else if (bianhao.getText().equals("004")) {
d = 498;
} else if (bianhao.getText().equals("005")) {
d = 598;
} else if (bianhao.getText().equals("006")) {
d = 698;
} else if (bianhao.getText().equals("007")) {
d = 798;
} else if (bianhao.getText().equals("010")) {
d = 898;
} else {
JOptionPane.showMessageDialog(bianhao, "输入有误");
}
Integer s = Integer.parseInt(bianhao.getText());
Integer s1 = Integer.parseInt(shuliang.getText());
tc.add(s, d, s1);
// 每次添加之后就把购物车的内容清空一次,表示刷新。
ta.setText(null);
}
});
btnNewButton_4.setBounds(169, 445, 108, 23);
contentPane.add(btnNewButton_4);
JButton btnNewButton = new JButton("\u670D\u88C5\u7C7B");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
btnNewButton.setBounds(20, 388, 93, 23);
contentPane.add(btnNewButton);
bianhao = new JTextField();
bianhao.setBounds(86, 461, 66, 21);
contentPane.add(bianhao);
bianhao.setColumns(10);
shuliang = new JTextField();
shuliang.setBounds(86, 505, 66, 21);
contentPane.add(shuliang);
shuliang.setColumns(10);
JLabel lblNewLabel = new JLabel("\u7F16\u53F7");
lblNewLabel.setBounds(40, 464, 54, 15);
contentPane.add(lblNewLabel);
JLabel lblNewLabel_1 = new JLabel("\u6570\u91CF");
lblNewLabel_1.setHorizontalAlignment(SwingConstants.RIGHT);
lblNewLabel_1.setBounds(10, 508, 54, 15);
contentPane.add(lblNewLabel_1);
JButton button = new JButton("\u67E5\u770B\u8D2D\u7269\u8F66");
button.setBounds(169, 482, 108, 23);
contentPane.add(button);
JButton button_1 = new JButton("\u5220\u9664\u5546\u54C1");
button_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
double d = 0;
if (bianhao.getText().equals("001")) {
d = 198;
} else if (bianhao.getText().equals("002")) {
d = 298;
} else if (bianhao.getText().equals("003")) {
d = 398;
} else if (bianhao.getText().equals("004")) {
d = 498;
} else if (bianhao.getText().equals("005")) {
d = 598;
} else if (bianhao.getText().equals("006")) {
d = 698;
} else if (bianhao.getText().equals("007")) {
d = 798;
} else if (bianhao.getText().equals("010")) {
d = 898;
} else {
JOptionPane.showMessageDialog(bianhao, "输入有误");
}
Integer s = Integer.parseInt(bianhao.getText());
Integer s1 = Integer.parseInt(shuliang.getText());
tc.remove(s, s1);
// 每次删除之后,就把购物车清空一次,表示刷新。
ta.setText(null);
}
});
button_1.setBounds(169, 514, 108, 23);
contentPane.add(button_1);
ta.setBounds(313, 422, 261, 104);
contentPane.add(ta);
JButton button_2 = new JButton("\u5F00\uFF01");
button_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 计算总额
List<Clothes> list = tc.look();
int sum = 0;
for (Clothes clothes : list) {
sum = sum + (int) (clothes.getNumber() * clothes.getPrice());
}
ta1.setText("共需支付:" + sum + "元");
}
});
button_2.setBounds(481, 529, 93, 23);
contentPane.add(button_2);
ta1 = new JTextField();
ta1.setBounds(344, 530, 127, 22);
contentPane.add(ta1);
ta1.setColumns(10);
// 查看的方法
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ta.setText(null);
// 遍历集合
List<Clothes> list = tc.look();
for (Clothes clothes : list) {
ta.append(clothes.toString() + "\n");
}
}
});
}
}
/*
* 画图工具类
*
* */
package page;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
public class Util {
public static Image getImage(String path) {
URL u = Util.class.getClassLoader().getResource(path);
BufferedImage img = null;
try {
img = ImageIO.read(u);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return img;
}
}
//增删改查后台代码
package store;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class TestClothes {
List<Clothes> list = new LinkedList<Clothes>();
// 添加购物车的方法
public void add(int id, double price, int number) {
Clothes c = new Clothes(id, price, number);
boolean falg = true;
// 判断如果id相等,就改变数量,再写入文件
for (Clothes clothes : list) {
if (clothes.getId() == id) {
clothes.setNumber(clothes.getNumber() + number);
falg = false;
break;
}
}
// 如果id不相等,就加一条进去
if (falg)
list.add(c);
ObjectOutputStream oos = null;
try {
oos = new ObjectOutputStream(new FileOutputStream(new File("cart")));
oos.writeObject(list);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (oos != null) {
oos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
// 查看购物车的方法 返回一个集合 给page2的查看购物车点击事件
public List look() {
ObjectInputStream ois = null;
List list1 = null;
try {
FileInputStream fis = new FileInputStream(new File("cart"));
if (fis.available() > 0) {
ois = new ObjectInputStream(fis);
list1 = (List) ois.readObject();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
if (ois != null) {
try {
ois.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return list1;
}
// 删除购物车的方法
public void remove(int id, int number) {
boolean falg = true;
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getId() == id) {
if (list.get(i).getNumber() >= number) {
list.get(i).setNumber(list.get(i).getNumber() - number);
if (list.get(i).getNumber() <= 0) {
list.remove(i);
}
falg = false;
break;
}
if (falg)
list.remove(i);
}
}
FileOutputStream fis = null;
ObjectOutputStream ois = null;
try {
fis = new FileOutputStream(new File("cart"));
ois = new ObjectOutputStream(fis);
ois.writeObject(list);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (list != null) {
try {
ois.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
//封装对象
package store;
import java.io.Serializable;
public class Clothes implements Serializable {
private int id;
private double price;
private int number;
public Clothes(int id) {
super();
this.id = id;
}
public Clothes() {
super();
}
public Clothes(int id, double price, int number) {
super();
this.id = id;
this.price = price;
this.number = number;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
@Override
public String toString() {
return "Clothes [id=" + id + ", price=" + price + ", number=" + number + "]";
}
}