java miniposs

本文介绍了一个名为MiniPoss的简易销售点系统实现细节。该系统使用Java Swing构建图形界面,并通过SQL Server数据库进行商品信息的查询及价格计算。系统能够根据输入的商品序列号和购买数量动态显示商品详情和总价。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Code:
  1. Code:   
  2. import javax.swing.*;      
  3. import java.awt.*;      
  4. import java.awt.event.ActionEvent;      
  5. import java.awt.event.ActionListener;      
  6. import java.sql.Connection;      
  7. import java.sql.DriverManager;      
  8. import java.sql.PreparedStatement;      
  9. import java.sql.ResultSet;      
  10. import java.sql.ResultSetMetaData;      
  11. import java.sql.SQLException;      
  12. import java.sql.Statement;      
  13. import java.util.ArrayList;      
  14.      
  15. public class Mainpanel implements ActionListener {      
  16.      
  17.     JTextArea area2 = new JTextArea(18);      
  18.     JTextArea area1 = new JTextArea(923);      
  19.     JTextArea area3 = new JTextArea(18);      
  20.     JTextArea area7 = new JTextArea(95);      
  21.     JTextArea area4 = new JTextArea(18);      
  22.      
  23.     JButton confirm = new JButton("计算");      
  24.     JTextField ProductsId = new JTextField(16);      
  25.     JTextField ProductsOrderCount = new JTextField(16);      
  26.     JButton sure = new JButton("8");      
  27.      
  28.     String s1 = new String();      
  29.     String s2 = new String();      
  30.     int temp = 0, temp1 = 0;      
  31.     float result, price, abc, receivprice1_show;      
  32.      
  33.     Connection connection = null;      
  34.     Statement stmt = null, stmt1 = null;      
  35.     ResultSet rs1 = null, rs2 = null;      
  36.     String user = "sa";      
  37.     String password = "0019891128";      
  38.      
  39.     public Mainpanel() {      
  40.         JFrame panel = new JFrame("MiniPoss系统");      
  41.         ProductsId.setFont(new Font("黑体"120));      
  42.      
  43.         ProductsOrderCount.setFont(new Font("黑体"120));      
  44.      
  45.         JPanel pane1 = new JPanel();      
  46.         pane1.setLayout(new GridLayout(13));      
  47.         JButton button1 = new JButton(new ImageIcon("img/button1.png"));      
  48.         JButton button2 = new JButton(new ImageIcon("img/button2.png"));      
  49.         JButton button3 = new JButton(new ImageIcon("img/button3.png"));      
  50.         JButton button4 = new JButton(new ImageIcon("img/button4.png"));      
  51.         button1.setPreferredSize(new Dimension(7272));      
  52.         button2.setPreferredSize(new Dimension(7272));      
  53.         button3.setPreferredSize(new Dimension(7272));      
  54.         button4.setPreferredSize(new Dimension(7272));      
  55.         pane1.add(button1);      
  56.         pane1.add(button2);      
  57.         pane1.add(button3);      
  58.         pane1.add(button4);      
  59.      
  60.         JPanel pane = new JPanel();      
  61.         pane.setLayout(new FlowLayout());      
  62.      
  63.         JLabel ProductsIdlab = new JLabel("商品序列号:");      
  64.         JLabel ProductsOrderCountlab = new JLabel("购买的数量:");      
  65.         confirm.addActionListener(this);      
  66.         area1.setFont(new Font("宋体"519));      
  67.         area1.setLineWrap(true);      
  68.         area1.setEditable(false);      
  69.      
  70.         JLabel item1 = new JLabel("序列号   商品名称        单价       数量  ");      
  71.         item1.setFont(new Font("微软雅黑"117));      
  72.      
  73.         area7.setFont(new Font("宋体"019));      
  74.         area7.setEditable(false);      
  75.      
  76.         JLabel sum = new JLabel(" 总价:");      
  77.         sum.setFont(new Font("黑体"120));      
  78.         sum.setForeground(Color.white);      
  79.      
  80.         area2.setFont(new Font("黑体"120));      
  81.         area2.setBackground(new Color(236239240));      
  82.         area2.setEditable(false);      
  83.         JLabel pay = new JLabel("     实收:");      
  84.         pay.setFont(new Font("黑体"120));      
  85.         pay.setForeground(Color.white);      
  86.      
  87.         area3.setFont(new Font("黑体"120));      
  88.         area3.setBackground(new Color(236239240));      
  89.      
  90.         sure.addActionListener(this);      
  91.         sure.setFont(new Font("黑体"17));      
  92.         sure.setPreferredSize(new Dimension(4025));      
  93.      
  94.         JLabel repay = new JLabel(" 应找:");      
  95.         repay.setFont(new Font("黑体"120));      
  96.         repay.setForeground(Color.white);      
  97.      
  98.         area4.setFont(new Font("黑体"120));      
  99.         area4.setBackground(new Color(236239240));      
  100.         area4.setEditable(false);      
  101.      
  102.         pane.add(pane1);      
  103.         pane.add(ProductsIdlab);      
  104.         pane.add(ProductsId);      
  105.         pane.add(ProductsOrderCountlab);      
  106.         pane.add(ProductsOrderCount);      
  107.         pane.add(confirm);      
  108.         pane.add(item1);      
  109.         pane.add(area1);      
  110.         pane.add(area7);      
  111.      
  112.         pane.add(sum);      
  113.         pane.add(area2);      
  114.         pane.add(pay);      
  115.         pane.add(area3);      
  116.         pane.add(sure);      
  117.         pane.add(repay);      
  118.         pane.add(area4);      
  119.      
  120.         panel.setContentPane(pane);      
  121.      
  122.         Container cp = panel.getContentPane();      
  123.         panel.setSize(300540);      
  124.         panel.setResizable(false);      
  125.         panel.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);      
  126.         ImageIcon img = new ImageIcon("img/13.png");      
  127.         JLabel imgLabel = new JLabel(img);      
  128.         panel.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));      
  129.         imgLabel.setBounds(00, img.getIconWidth(), img.getIconHeight());      
  130.         ((JPanel) cp).setOpaque(false);      
  131.         panel.setLocationRelativeTo(null);      
  132.         panel.setVisible(true);      
  133.      
  134.     }      
  135.      
  136.     public void JDBC() {      
  137.      
  138.         try {      
  139.             // 建立连接      
  140.             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");      
  141.             connection = DriverManager.getConnection("jdbc:sqlserver:"     
  142.                     + "//localhost:1433;DatabaseName=MiniPoss", user, password);      
  143.             int x = temp;      
  144.             // 创建statement      
  145.             switch (x) {      
  146.             case 001:      
  147.                 stmt = connection.createStatement();      
  148.                 String sqlQuery001 = "SELECT * FROM product where 序列号='001'";      
  149.                 rs1 = stmt.executeQuery(sqlQuery001);      
  150.                 break;      
  151.      
  152.             case 002:      
  153.                 stmt = connection.createStatement();      
  154.                 String sqlQuery002 = "SELECT * FROM product where 序列号='002'";      
  155.                 rs1 = stmt.executeQuery(sqlQuery002);      
  156.                 break;      
  157.      
  158.             case 003:      
  159.                 stmt = connection.createStatement();      
  160.                 String sqlQuery003 = "SELECT * FROM product where 序列号='003'";      
  161.                 rs1 = stmt.executeQuery(sqlQuery003);      
  162.                 break;      
  163.             case 004:      
  164.                 stmt = connection.createStatement();      
  165.                 String sqlQuery004 = "SELECT * FROM product where 序列号='004'";      
  166.                 rs1 = stmt.executeQuery(sqlQuery004);      
  167.                 break;      
  168.             case 005:      
  169.                 stmt = connection.createStatement();      
  170.                 String sqlQuery005 = "SELECT * FROM product where 序列号='005'";      
  171.                 rs1 = stmt.executeQuery(sqlQuery005);      
  172.                 break;      
  173.             case 006:      
  174.                 stmt = connection.createStatement();      
  175.                 String sqlQuery006 = "SELECT * FROM product where 序列号='006'";      
  176.                 rs1 = stmt.executeQuery(sqlQuery006);      
  177.                 break;      
  178.             case 007:      
  179.                 stmt = connection.createStatement();      
  180.                 String sqlQuery007 = "SELECT * FROM product where 序列号='007'";      
  181.                 rs1 = stmt.executeQuery(sqlQuery007);      
  182.                 break;      
  183.             case 010:      
  184.                 stmt = connection.createStatement();      
  185.                 String sqlQuery010 = "SELECT * FROM product where 序列号='008'";      
  186.                 rs1 = stmt.executeQuery(sqlQuery010);      
  187.                 break;      
  188.             case 011:      
  189.                 stmt = connection.createStatement();      
  190.                 String sqlQuery011 = "SELECT * FROM product where 序列号='009'";      
  191.                 rs1 = stmt.executeQuery(sqlQuery011);      
  192.                 break;      
  193.             case 012:      
  194.                 stmt = connection.createStatement();      
  195.                 String sqlQuery012 = "SELECT * FROM product where 序列号='010'";      
  196.                 rs1 = stmt.executeQuery(sqlQuery012);      
  197.                 break;      
  198.      
  199.             }      
  200.      
  201.             ResultSetMetaData rsmd = rs1.getMetaData();      
  202.             int j = rsmd.getColumnCount();      
  203.             System.out.println(rsmd.getColumnName(1) + "/t"     
  204.                     + rsmd.getColumnName(1) + "/t" + rsmd.getColumnName(1)      
  205.                     + "/t");      
  206.             System.out.println("----------------------------");      
  207.             while (rs1.next()) {      
  208.      
  209.                 for (int i = 0; i < j; i++) {      
  210.      
  211.                     System.out.print(rs1.getString(i + 1));      
  212.                     System.out.print(" ");      
  213.                     area1.append(rs1.getString(i + 1));      
  214.      
  215.                 }      
  216.                 System.out.println("");      
  217.             }      
  218.      
  219.         } catch (ClassNotFoundException e) {      
  220.             System.out.println("无法找到驱动类");      
  221.             System.out.println(e.toString());      
  222.         } catch (SQLException e) {      
  223.             e.printStackTrace();      
  224.         } finally {      
  225.             try {      
  226.                 if (rs1 != null)      
  227.                     rs1.close();      
  228.                 if (stmt != null)      
  229.                     stmt.close();      
  230.                 if (connection != null)      
  231.                     connection.close();      
  232.             } catch (Exception e) {      
  233.                 e.printStackTrace();      
  234.             }      
  235.         }      
  236.      
  237.     }      
  238.      
  239.     public void getAnswer() {      
  240.      
  241.         try {      
  242.             // 建立连接      
  243.             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");      
  244.             connection = DriverManager.getConnection("jdbc:sqlserver:"     
  245.                     + "//localhost:1433;DatabaseName=MiniPoss", user, password);      
  246.      
  247.             int x1 = temp1;      
  248.             // 创建statement      
  249.             switch (x1) {      
  250.             case 001:      
  251.                 stmt1 = connection.createStatement();      
  252.                 String sqlQuery1 = "SELECT 单价 FROM product where 序列号='001'";      
  253.                 rs2 = stmt1.executeQuery(sqlQuery1);      
  254.                 break;      
  255.      
  256.             case 002:      
  257.                 stmt1 = connection.createStatement();      
  258.                 String sqlQuery2 = "SELECT 单价 FROM product where 序列号='002'";      
  259.                 rs2 = stmt1.executeQuery(sqlQuery2);      
  260.                 break;      
  261.      
  262.             case 003:      
  263.                 stmt1 = connection.createStatement();      
  264.                 String sqlQuery3 = "SELECT 单价 FROM product where 序列号='003'";      
  265.                 rs2 = stmt1.executeQuery(sqlQuery3);      
  266.                 break;      
  267.             case 004:      
  268.                 stmt1 = connection.createStatement();      
  269.                 String sqlQuery4 = "SELECT 单价 FROM product where 序列号='004'";      
  270.                 rs2 = stmt1.executeQuery(sqlQuery4);      
  271.                 break;      
  272.             case 005:      
  273.                 stmt1 = connection.createStatement();      
  274.                 String sqlQuery5 = "SELECT 单价 FROM product where 序列号='005'";      
  275.                 rs2 = stmt1.executeQuery(sqlQuery5);      
  276.                 break;      
  277.             case 006:      
  278.                 stmt1 = connection.createStatement();      
  279.                 String sqlQuery6 = "SELECT 单价 FROM product where 序列号='006'";      
  280.                 rs2 = stmt1.executeQuery(sqlQuery6);      
  281.                 break;      
  282.             case 007:      
  283.                 stmt1 = connection.createStatement();      
  284.                 String sqlQuery7 = "SELECT 单价 FROM product where 序列号='007'";      
  285.                 rs2 = stmt1.executeQuery(sqlQuery7);      
  286.                 break;      
  287.             case 010:      
  288.                 stmt1 = connection.createStatement();      
  289.                 String sqlQuery8 = "SELECT 单价 FROM product where 序列号='008'";      
  290.                 rs2 = stmt1.executeQuery(sqlQuery8);      
  291.                 break;      
  292.             case 011:      
  293.                 stmt1 = connection.createStatement();      
  294.                 String sqlQuery9 = "SELECT 单价 FROM product where 序列号='009'";      
  295.                 rs2 = stmt1.executeQuery(sqlQuery9);      
  296.                 break;      
  297.             case 012:      
  298.                 stmt1 = connection.createStatement();      
  299.                 String sqlQuery10 = "SELECT 单价 FROM product where 序列号='010'";      
  300.                 rs2 = stmt1.executeQuery(sqlQuery10);      
  301.                 break;      
  302.             }      
  303.      
  304.             ResultSetMetaData rsmd1 = rs2.getMetaData();      
  305.             int j1 = rsmd1.getColumnCount();      
  306.      
  307.             while (rs2.next()) {      
  308.      
  309.                 for (int i1 = 0; i1 < j1; i1++) {      
  310.                     abc = rs2.getInt(1);      
  311.                     String countnum = ProductsOrderCount.getText();      
  312.                     int count = Integer.parseInt(countnum);      
  313.                     result = abc * count;      
  314.                     System.out.print(result);      
  315.                     String answer = String.valueOf(result);      
  316.                     area2.append(answer + "元");      
  317.      
  318.                 }      
  319.                 System.out.print("/n");      
  320.             }      
  321.      
  322.         } catch (ClassNotFoundException e) {      
  323.             System.out.println("无法找到驱动类");      
  324.             System.out.println(e.toString());      
  325.         } catch (SQLException e) {      
  326.             e.printStackTrace();      
  327.         } finally {      
  328.             try {      
  329.                 if (rs2 != null)      
  330.                     rs2.close();      
  331.                 if (stmt1 != null)      
  332.                     stmt1.close();      
  333.                 if (connection != null)      
  334.                     connection.close();      
  335.             } catch (Exception e) {      
  336.                 e.printStackTrace();      
  337.             }      
  338.         }      
  339.     }      
  340.      
  341.     public static void main(String[] args) {      
  342.      
  343.         Mainpanel panel = new Mainpanel();      
  344.      
  345.     }      
  346.      
  347.     public void actionPerformed(ActionEvent e) {      
  348.         JButton b = (JButton) e.getSource();      
  349.         s1 = ProductsId.getText();      
  350.         s2 = ProductsOrderCount.getText();      
  351.         if (b == confirm) {      
  352.             area2.setText("");      
  353.             area3.setText("");      
  354.             area4.setText("");      
  355.             area7.append("  " + s2 + "/n");      
  356.             System.out.println(s1);      
  357.             System.out.println(s2);      
  358.             if (s1.equals("001")) {      
  359.                 temp = 001;      
  360.                 JDBC();      
  361.                 temp1 = 001;      
  362.                 getAnswer();      
  363.             }      
  364.             if (s1.equals("002")) {      
  365.                 temp = 002;      
  366.                 JDBC();      
  367.                 temp1 = 002;      
  368.                 getAnswer();      
  369.             }      
  370.             if (s1.equals("003")) {      
  371.                 temp = 003;      
  372.                 JDBC();      
  373.                 temp1 = 003;      
  374.                 getAnswer();      
  375.             }      
  376.             if (s1.equals("004")) {      
  377.                 temp = 004;      
  378.                 JDBC();      
  379.                 temp1 = 004;      
  380.                 getAnswer();      
  381.             }      
  382.             if (s1.equals("005")) {      
  383.                 temp = 005;      
  384.                 JDBC();      
  385.                 temp1 = 005;      
  386.                 getAnswer();      
  387.             }      
  388.             if (s1.equals("006")) {      
  389.                 temp = 006;      
  390.                 JDBC();      
  391.                 temp1 = 006;      
  392.                 getAnswer();      
  393.             }      
  394.             if (s1.equals("007")) {      
  395.                 temp = 007;      
  396.                 JDBC();      
  397.                 temp1 = 007;      
  398.                 getAnswer();      
  399.             }      
  400.             if (s1.equals("008")) {      
  401.                 temp = 010;      
  402.                 JDBC();      
  403.                 temp1 = 010;      
  404.                 getAnswer();      
  405.             }      
  406.             if (s1.equals("009")) {      
  407.                 temp = 011;      
  408.                 JDBC();      
  409.                 temp1 = 011;      
  410.                 getAnswer();      
  411.             }      
  412.             if (s1.equals("010")) {      
  413.                 temp = 012;      
  414.                 JDBC();      
  415.                 temp1 = 012;      
  416.                 getAnswer();      
  417.             }      
  418.      
  419.         } else if (b == sure) {      
  420.                   
  421.             String receivprice = area3.getText();      
  422.             int receivprice1 = Integer.parseInt(receivprice);      
  423.             receivprice1_show = receivprice1 - result;      
  424.             String answer2 = String.valueOf(receivprice1_show);      
  425.             area4.append(answer2 + "元");      
  426.      
  427.         }      
  428.      
  429.     }      
  430.      
  431. }      

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值