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(); } }