105 lines
3.7 KiB
Java
105 lines
3.7 KiB
Java
package com.example;
|
|
|
|
import javax.swing.*;
|
|
import java.awt.*;
|
|
import java.awt.event.ActionEvent;
|
|
import java.awt.event.ActionListener;
|
|
|
|
public class SalesProductManagement extends JFrame implements ActionListener {
|
|
|
|
JButton btn1;
|
|
JLabel lab1,lab2,lab3,lab4,lab5,lab6,lab7;
|
|
JTextField text2,text3,text5,text6,text8,text9,text10;
|
|
// JPasswordField passwordfile;
|
|
JPanel panel1,panel2,panel3;
|
|
|
|
|
|
|
|
SalesProductManagement(){
|
|
super("销售信息管理");
|
|
panel1 = new JPanel();
|
|
panel2 = new JPanel();
|
|
panel3 = new JPanel();
|
|
lab1=new JLabel("名称",JLabel.CENTER);
|
|
lab2=new JLabel("单价",JLabel.CENTER);
|
|
lab3=new JLabel("数量",JLabel.CENTER);
|
|
lab4=new JLabel("总计:",JLabel.CENTER);
|
|
lab5=new JLabel("苹果",JLabel.CENTER);
|
|
lab6=new JLabel("香蕉",JLabel.CENTER);
|
|
lab7=new JLabel("橘子",JLabel.CENTER);
|
|
|
|
text2=new JTextField("2"+"元",JTextField.CENTER);
|
|
text3=new JTextField(3);
|
|
text5=new JTextField("3"+"元",JTextField.CENTER);
|
|
text6=new JTextField(3);
|
|
text8=new JTextField("5"+"元",JTextField.CENTER);
|
|
text9=new JTextField(3);
|
|
text10=new JTextField(5);
|
|
|
|
btn1=new JButton("结算");
|
|
btn1.addActionListener(this);
|
|
|
|
|
|
add(panel1);
|
|
panel1.setLayout(new GridLayout(1,3,5,5));
|
|
panel1.add(lab1);
|
|
panel1.add(lab2);
|
|
panel1.add(lab3);
|
|
panel1.setMaximumSize(new Dimension(Integer.MAX_VALUE, 40));
|
|
add(panel2);
|
|
panel2.setLayout(new GridLayout(3,3,5,5));
|
|
panel2.add(lab5);
|
|
panel2.add(text2);
|
|
panel2.add(text3);
|
|
panel2.add(lab6);
|
|
panel2.add(text5);
|
|
panel2.add(text6);
|
|
panel2.add(lab7);
|
|
panel2.add(text8);
|
|
panel2.add(text9);
|
|
panel2.setMaximumSize(new Dimension(Integer.MAX_VALUE, 120));
|
|
add(panel3);
|
|
panel3.setLayout(new GridLayout(1,3,5,5));
|
|
panel3.add(btn1);
|
|
panel3.add(lab4);
|
|
panel3.add(text10);
|
|
panel3.setMaximumSize(new Dimension(Integer.MAX_VALUE, 40));
|
|
|
|
|
|
|
|
setLayout(new GridLayout(3,1));
|
|
setSize(500,500);
|
|
setLocationRelativeTo(null);
|
|
setVisible(true);
|
|
}
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
// 判断事件源是否为结算按钮
|
|
if (e.getSource() == btn1) {
|
|
try {
|
|
// 获取单价(从文本框提取数字部分)
|
|
double applePrice = Double.parseDouble(text2.getText().replace("元", ""));
|
|
double bananaPrice = Double.parseDouble(text5.getText().replace("元", ""));
|
|
double orangePrice = Double.parseDouble(text8.getText().replace("元", ""));
|
|
|
|
// 获取数量(处理空输入情况)
|
|
int appleCount = text3.getText().trim().isEmpty() ? 0 : Integer.parseInt(text3.getText().trim());
|
|
int bananaCount = text6.getText().trim().isEmpty() ? 0 : Integer.parseInt(text6.getText().trim());
|
|
int orangeCount = text9.getText().trim().isEmpty() ? 0 : Integer.parseInt(text9.getText().trim());
|
|
|
|
// 计算总金额
|
|
double total = (applePrice * appleCount) + (bananaPrice * bananaCount) + (orangePrice * orangeCount);
|
|
|
|
// 显示结果,保留两位小数
|
|
text10.setText(String.format("%.2f元", total));
|
|
} catch (NumberFormatException ex) {
|
|
// 处理输入非数字的情况
|
|
JOptionPane.showMessageDialog(this, "请输入有效的数字", "输入错误", JOptionPane.ERROR_MESSAGE);
|
|
}
|
|
}
|
|
}
|
|
public static void main(String[] args) {
|
|
new SalesProductManagement();
|
|
}
|
|
}
|