废话不多说,直接上代码,功能很简单,代码也很简单。
可能比较复杂的地方就是使用了绝对定位布局管理器。
需要空间想象力比较好!
package com.langxikeji.AwtDemo;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.FileInputStream;
import javax.imageio.ImageIO;
public class OrderTest {
public static void main(String[] args) throws Exception {
JFrame frame = new JFrame("点菜系统");
frame.setLayout(null);
frame.setResizable(false);
frame.setBounds(100, 100, 600, 500);
JButton btn1 = new JButton("北京烤鸭 ¥1");
Image img1 = ImageIO.read(new FileInputStream("./src/Food/北京烤鸭.jpg"));
ImageIcon icon = new ImageIcon(img1);
btn1.setIcon(icon);
btn1.setHorizontalTextPosition(JButton.CENTER);
btn1.setVerticalTextPosition(JButton.BOTTOM);
btn1.setBounds(30, 30, 110, 110);
frame.add(btn1);
JButton btn2 = new JButton("花生 ¥2");
Image img2 = ImageIO.read(new FileInputStream("./src/Food/花生.jpg"));
icon = new ImageIcon(img2);
btn2.setIcon(icon);
btn2.setHorizontalTextPosition(JButton.CENTER);
btn2.setVerticalTextPosition(JButton.BOTTOM);
btn2.setBounds(180, 30, 110, 110);
frame.add(btn2);
JButton btn3 = new JButton("酱牛肉 ¥3");
Image img3 = ImageIO.read(new FileInputStream("./src/Food/酱牛肉.jpg"));
icon = new ImageIcon(img3);
btn3.setIcon(icon);
btn3.setHorizontalTextPosition(JButton.CENTER);
btn3.setVerticalTextPosition(JButton.BOTTOM);
btn3.setBounds(30, 180, 110, 110);
frame.add(btn3);
JButton btn4 = new JButton("王八汤 ¥4");
Image img4 = ImageIO.read(new FileInputStream("./src/Food/王八汤.jpg"));
icon = new ImageIcon(img4);
btn4.setIcon(icon);
btn4.setHorizontalTextPosition(JButton.CENTER);
btn4.setVerticalTextPosition(JButton.BOTTOM);
btn4.setBounds(180, 180, 110, 110);
frame.add(btn4);
JButton btn5 = new JButton("五谷 ¥5");
Image img5 = ImageIO.read(new FileInputStream("./src/Food/五谷.jpg"));
icon = new ImageIcon(img5);
btn5.setIcon(icon);
btn5.setHorizontalTextPosition(JButton.CENTER);
btn5.setVerticalTextPosition(JButton.BOTTOM);
btn5.setBounds(30, 330, 110, 110);
frame.add(btn5);
JButton btn6 = new JButton("原味鸡¥6");
Image img6 = ImageIO.read(new FileInputStream("./src/Food/原味鸡.jpg"));
icon = new ImageIcon(img6);
btn6.setIcon(icon);
btn6.setHorizontalTextPosition(JButton.CENTER);
btn6.setVerticalTextPosition(JButton.BOTTOM);
btn6.setBounds(180, 330, 110, 110);
frame.add(btn6);
Font font = new Font("楷体", Font.BOLD, 20);
Label label1 = new Label("已点菜单:");
label1.setForeground(Color.RED);
label1.setFont(font);
label1.setBounds(350, 40, 100, 30);
frame.add(label1);
final List list = new List();
list.setFont(font);
list.setForeground(Color.CYAN);
list.setBounds(350, 80, 200, 350);
frame.add(list);
final Label label2 = new Label("菜品总价:0¥");
label2.setForeground(Color.RED);
label2.setFont(font);
label2.setBounds(350, 430, 200, 50);
frame.add(label2);
btn1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String[] items = list.getItems();
boolean flag = false;
int index = 0;
for (int i = 0; i < items.length; i++) {
if (items[i].contains("北京烤鸭")) {
index = i;
flag = true;
break;
}
}
if (flag) {
String item = list.getItem(index);
int x_index = item.indexOf("X");
String value = item.substring(x_index + 1);
item = item.substring(0, x_index + 1)
+ (Integer.parseInt(value) + 1);
list.remove(index);
list.add(item, index);
} else {
list.add("北京烤鸭 X1");
}
String value = label2.getText();
int begin = value.indexOf(":");
int end = value.indexOf("¥");
String money = value.substring(begin + 1, end);
String newValue = String.valueOf((Integer.parseInt(money) + 1));
value = value.replaceAll(money, newValue);
label2.setText(value);
}
});
btn2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String[] items = list.getItems();
boolean flag = false;
int index = 0;
for (int i = 0; i < items.length; i++) {
if (items[i].contains("花生")) {
index = i;
flag = true;
break;
}
}
if (flag) {
String item = list.getItem(index);
int x_index = item.indexOf("X");
String value = item.substring(x_index + 1);
item = item.substring(0, x_index + 1)
+ (Integer.parseInt(value) + 1);
list.remove(index);
list.add(item, index);
} else {
list.add("花生 X1");
}
String value = label2.getText();
int begin = value.indexOf(":");
int end = value.indexOf("¥");
String money = value.substring(begin + 1, end);
String newValue = String.valueOf((Integer.parseInt(money) + 2));
value = value.replaceAll(money, newValue);
label2.setText(value);
}
});
btn3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String[] items = list.getItems();
boolean flag = false;
int index = 0;
for (int i = 0; i < items.length; i++) {
if (items[i].contains("酱牛肉")) {
index = i;
flag = true;
break;
}
}
if (flag) {
String item = list.getItem(index);
int x_index = item.indexOf("X");
String value = item.substring(x_index + 1);
item = item.substring(0, x_index + 1)
+ (Integer.parseInt(value) + 1);
list.remove(index);
list.add(item, index);
} else {
list.add("酱牛肉 X1");
}
String value = label2.getText();
int begin = value.indexOf(":");
int end = value.indexOf("¥");
String money = value.substring(begin + 1, end);
String newValue = String.valueOf((Integer.parseInt(money) + 3));
value = value.replaceAll(money, newValue);
label2.setText(value);
}
});
btn4.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String[] items = list.getItems();
boolean flag = false;
int index = 0;
for (int i = 0; i < items.length; i++) {
if (items[i].contains("王八汤")) {
index = i;
flag = true;
break;
}
}
if (flag) {
String item = list.getItem(index);
int x_index = item.indexOf("X");
String value = item.substring(x_index + 1);
item = item.substring(0, x_index + 1)
+ (Integer.parseInt(value) + 1);
list.remove(index);
list.add(item, index);
} else {
list.add("王八汤 X1");
}
String value = label2.getText();
int begin = value.indexOf(":");
int end = value.indexOf("¥");
String money = value.substring(begin + 1, end);
String newValue = String.valueOf((Integer.parseInt(money) + 4));
value = value.replaceAll(money, newValue);
label2.setText(value);
}
});
btn5.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String[] items = list.getItems();
boolean flag = false;
int index = 0;
for (int i = 0; i < items.length; i++) {
if (items[i].contains("五谷")) {
index = i;
flag = true;
break;
}
}
if (flag) {
String item = list.getItem(index);
int x_index = item.indexOf("X");
String value = item.substring(x_index + 1);
item = item.substring(0, x_index + 1)
+ (Integer.parseInt(value) + 1);
list.remove(index);
list.add(item, index);
} else {
list.add("五谷 X1");
}
String value = label2.getText();
int begin = value.indexOf(":");
int end = value.indexOf("¥");
String money = value.substring(begin + 1, end);
String newValue = String.valueOf((Integer.parseInt(money) + 5));
value = value.replaceAll(money, newValue);
label2.setText(value);
}
});
btn6.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String[] items = list.getItems();
boolean flag = false;
int index = 0;
for (int i = 0; i < items.length; i++) {
if (items[i].contains("原味鸡")) {
index = i;
flag = true;
break;
}
}
if (flag) {
String item = list.getItem(index);
int x_index = item.indexOf("X");
String value = item.substring(x_index + 1);
item = item.substring(0, x_index + 1)
+ (Integer.parseInt(value) + 1);
list.remove(index);
list.add(item, index);
} else {
list.add("原味鸡 X1");
}
String value = label2.getText();
int begin = value.indexOf(":");
int end = value.indexOf("¥");
String money = value.substring(begin + 1, end);
String newValue = String.valueOf((Integer.parseInt(money) + 6));
value = value.replaceAll(money, newValue);
label2.setText(value);
}
});
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}