java miniposs

本文介绍了一个简易POS系统的Java实现,包括界面布局与数据库交互。通过按钮点击事件处理商品信息查询及总价计算等功能。

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

Code:
  1. Code:
  2. importjavax.swing.*;
  3. importjava.awt.*;
  4. importjava.awt.event.ActionEvent;
  5. importjava.awt.event.ActionListener;
  6. importjava.sql.Connection;
  7. importjava.sql.DriverManager;
  8. importjava.sql.PreparedStatement;
  9. importjava.sql.ResultSet;
  10. importjava.sql.ResultSetMetaData;
  11. importjava.sql.SQLException;
  12. importjava.sql.Statement;
  13. importjava.util.ArrayList;
  14. publicclassMainpanelimplementsActionListener{
  15. JTextAreaarea2=newJTextArea(1,8);
  16. JTextAreaarea1=newJTextArea(9,23);
  17. JTextAreaarea3=newJTextArea(1,8);
  18. JTextAreaarea7=newJTextArea(9,5);
  19. JTextAreaarea4=newJTextArea(1,8);
  20. JButtonconfirm=newJButton("计算");
  21. JTextFieldProductsId=newJTextField(16);
  22. JTextFieldProductsOrderCount=newJTextField(16);
  23. JButtonsure=newJButton("8");
  24. Strings1=newString();
  25. Strings2=newString();
  26. inttemp=0,temp1=0;
  27. floatresult,price,abc,receivprice1_show;
  28. Connectionconnection=null;
  29. Statementstmt=null,stmt1=null;
  30. ResultSetrs1=null,rs2=null;
  31. Stringuser="sa";
  32. Stringpassword="0019891128";
  33. publicMainpanel(){
  34. JFramepanel=newJFrame("MiniPoss系统");
  35. ProductsId.setFont(newFont("黑体",1,20));
  36. ProductsOrderCount.setFont(newFont("黑体",1,20));
  37. JPanelpane1=newJPanel();
  38. pane1.setLayout(newGridLayout(1,3));
  39. JButtonbutton1=newJButton(newImageIcon("img/button1.png"));
  40. JButtonbutton2=newJButton(newImageIcon("img/button2.png"));
  41. JButtonbutton3=newJButton(newImageIcon("img/button3.png"));
  42. JButtonbutton4=newJButton(newImageIcon("img/button4.png"));
  43. button1.setPreferredSize(newDimension(72,72));
  44. button2.setPreferredSize(newDimension(72,72));
  45. button3.setPreferredSize(newDimension(72,72));
  46. button4.setPreferredSize(newDimension(72,72));
  47. pane1.add(button1);
  48. pane1.add(button2);
  49. pane1.add(button3);
  50. pane1.add(button4);
  51. JPanelpane=newJPanel();
  52. pane.setLayout(newFlowLayout());
  53. JLabelProductsIdlab=newJLabel("商品序列号:");
  54. JLabelProductsOrderCountlab=newJLabel("购买的数量:");
  55. confirm.addActionListener(this);
  56. area1.setFont(newFont("宋体",5,19));
  57. area1.setLineWrap(true);
  58. area1.setEditable(false);
  59. JLabelitem1=newJLabel("序列号商品名称单价数量");
  60. item1.setFont(newFont("微软雅黑",1,17));
  61. area7.setFont(newFont("宋体",0,19));
  62. area7.setEditable(false);
  63. JLabelsum=newJLabel("总价:");
  64. sum.setFont(newFont("黑体",1,20));
  65. sum.setForeground(Color.white);
  66. area2.setFont(newFont("黑体",1,20));
  67. area2.setBackground(newColor(236,239,240));
  68. area2.setEditable(false);
  69. JLabelpay=newJLabel("实收:");
  70. pay.setFont(newFont("黑体",1,20));
  71. pay.setForeground(Color.white);
  72. area3.setFont(newFont("黑体",1,20));
  73. area3.setBackground(newColor(236,239,240));
  74. sure.addActionListener(this);
  75. sure.setFont(newFont("黑体",1,7));
  76. sure.setPreferredSize(newDimension(40,25));
  77. JLabelrepay=newJLabel("应找:");
  78. repay.setFont(newFont("黑体",1,20));
  79. repay.setForeground(Color.white);
  80. area4.setFont(newFont("黑体",1,20));
  81. area4.setBackground(newColor(236,239,240));
  82. area4.setEditable(false);
  83. pane.add(pane1);
  84. pane.add(ProductsIdlab);
  85. pane.add(ProductsId);
  86. pane.add(ProductsOrderCountlab);
  87. pane.add(ProductsOrderCount);
  88. pane.add(confirm);
  89. pane.add(item1);
  90. pane.add(area1);
  91. pane.add(area7);
  92. pane.add(sum);
  93. pane.add(area2);
  94. pane.add(pay);
  95. pane.add(area3);
  96. pane.add(sure);
  97. pane.add(repay);
  98. pane.add(area4);
  99. panel.setContentPane(pane);
  100. Containercp=panel.getContentPane();
  101. panel.setSize(300,540);
  102. panel.setResizable(false);
  103. panel.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  104. ImageIconimg=newImageIcon("img/13.png");
  105. JLabelimgLabel=newJLabel(img);
  106. panel.getLayeredPane().add(imgLabel,newInteger(Integer.MIN_VALUE));
  107. imgLabel.setBounds(0,0,img.getIconWidth(),img.getIconHeight());
  108. ((JPanel)cp).setOpaque(false);
  109. panel.setLocationRelativeTo(null);
  110. panel.setVisible(true);
  111. }
  112. publicvoidJDBC(){
  113. try{
  114. //建立连接
  115. Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  116. connection=DriverManager.getConnection("jdbc:sqlserver:"
  117. +"//localhost:1433;DatabaseName=MiniPoss",user,password);
  118. intx=temp;
  119. //创建statement
  120. switch(x){
  121. case001:
  122. stmt=connection.createStatement();
  123. StringsqlQuery001="SELECT*FROMproductwhere序列号='001'";
  124. rs1=stmt.executeQuery(sqlQuery001);
  125. break;
  126. case002:
  127. stmt=connection.createStatement();
  128. StringsqlQuery002="SELECT*FROMproductwhere序列号='002'";
  129. rs1=stmt.executeQuery(sqlQuery002);
  130. break;
  131. case003:
  132. stmt=connection.createStatement();
  133. StringsqlQuery003="SELECT*FROMproductwhere序列号='003'";
  134. rs1=stmt.executeQuery(sqlQuery003);
  135. break;
  136. case004:
  137. stmt=connection.createStatement();
  138. StringsqlQuery004="SELECT*FROMproductwhere序列号='004'";
  139. rs1=stmt.executeQuery(sqlQuery004);
  140. break;
  141. case005:
  142. stmt=connection.createStatement();
  143. StringsqlQuery005="SELECT*FROMproductwhere序列号='005'";
  144. rs1=stmt.executeQuery(sqlQuery005);
  145. break;
  146. case006:
  147. stmt=connection.createStatement();
  148. StringsqlQuery006="SELECT*FROMproductwhere序列号='006'";
  149. rs1=stmt.executeQuery(sqlQuery006);
  150. break;
  151. case007:
  152. stmt=connection.createStatement();
  153. StringsqlQuery007="SELECT*FROMproductwhere序列号='007'";
  154. rs1=stmt.executeQuery(sqlQuery007);
  155. break;
  156. case010:
  157. stmt=connection.createStatement();
  158. StringsqlQuery010="SELECT*FROMproductwhere序列号='008'";
  159. rs1=stmt.executeQuery(sqlQuery010);
  160. break;
  161. case011:
  162. stmt=connection.createStatement();
  163. StringsqlQuery011="SELECT*FROMproductwhere序列号='009'";
  164. rs1=stmt.executeQuery(sqlQuery011);
  165. break;
  166. case012:
  167. stmt=connection.createStatement();
  168. StringsqlQuery012="SELECT*FROMproductwhere序列号='010'";
  169. rs1=stmt.executeQuery(sqlQuery012);
  170. break;
  171. }
  172. ResultSetMetaDatarsmd=rs1.getMetaData();
  173. intj=rsmd.getColumnCount();
  174. System.out.println(rsmd.getColumnName(1)+"/t"
  175. +rsmd.getColumnName(1)+"/t"+rsmd.getColumnName(1)
  176. +"/t");
  177. System.out.println("----------------------------");
  178. while(rs1.next()){
  179. for(inti=0;i<j;i++){
  180. System.out.print(rs1.getString(i+1));
  181. System.out.print("");
  182. area1.append(rs1.getString(i+1));
  183. }
  184. System.out.println("");
  185. }
  186. }catch(ClassNotFoundExceptione){
  187. System.out.println("无法找到驱动类");
  188. System.out.println(e.toString());
  189. }catch(SQLExceptione){
  190. e.printStackTrace();
  191. }finally{
  192. try{
  193. if(rs1!=null)
  194. rs1.close();
  195. if(stmt!=null)
  196. stmt.close();
  197. if(connection!=null)
  198. connection.close();
  199. }catch(Exceptione){
  200. e.printStackTrace();
  201. }
  202. }
  203. }
  204. publicvoidgetAnswer(){
  205. try{
  206. //建立连接
  207. Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  208. connection=DriverManager.getConnection("jdbc:sqlserver:"
  209. +"//localhost:1433;DatabaseName=MiniPoss",user,password);
  210. intx1=temp1;
  211. //创建statement
  212. switch(x1){
  213. case001:
  214. stmt1=connection.createStatement();
  215. StringsqlQuery1="SELECT单价FROMproductwhere序列号='001'";
  216. rs2=stmt1.executeQuery(sqlQuery1);
  217. break;
  218. case002:
  219. stmt1=connection.createStatement();
  220. StringsqlQuery2="SELECT单价FROMproductwhere序列号='002'";
  221. rs2=stmt1.executeQuery(sqlQuery2);
  222. break;
  223. case003:
  224. stmt1=connection.createStatement();
  225. StringsqlQuery3="SELECT单价FROMproductwhere序列号='003'";
  226. rs2=stmt1.executeQuery(sqlQuery3);
  227. break;
  228. case004:
  229. stmt1=connection.createStatement();
  230. StringsqlQuery4="SELECT单价FROMproductwhere序列号='004'";
  231. rs2=stmt1.executeQuery(sqlQuery4);
  232. break;
  233. case005:
  234. stmt1=connection.createStatement();
  235. StringsqlQuery5="SELECT单价FROMproductwhere序列号='005'";
  236. rs2=stmt1.executeQuery(sqlQuery5);
  237. break;
  238. case006:
  239. stmt1=connection.createStatement();
  240. StringsqlQuery6="SELECT单价FROMproductwhere序列号='006'";
  241. rs2=stmt1.executeQuery(sqlQuery6);
  242. break;
  243. case007:
  244. stmt1=connection.createStatement();
  245. StringsqlQuery7="SELECT单价FROMproductwhere序列号='007'";
  246. rs2=stmt1.executeQuery(sqlQuery7);
  247. break;
  248. case010:
  249. stmt1=connection.createStatement();
  250. StringsqlQuery8="SELECT单价FROMproductwhere序列号='008'";
  251. rs2=stmt1.executeQuery(sqlQuery8);
  252. break;
  253. case011:
  254. stmt1=connection.createStatement();
  255. StringsqlQuery9="SELECT单价FROMproductwhere序列号='009'";
  256. rs2=stmt1.executeQuery(sqlQuery9);
  257. break;
  258. case012:
  259. stmt1=connection.createStatement();
  260. StringsqlQuery10="SELECT单价FROMproductwhere序列号='010'";
  261. rs2=stmt1.executeQuery(sqlQuery10);
  262. break;
  263. }
  264. ResultSetMetaDatarsmd1=rs2.getMetaData();
  265. intj1=rsmd1.getColumnCount();
  266. while(rs2.next()){
  267. for(inti1=0;i1<j1;i1++){
  268. abc=rs2.getInt(1);
  269. Stringcountnum=ProductsOrderCount.getText();
  270. intcount=Integer.parseInt(countnum);
  271. result=abc*count;
  272. System.out.print(result);
  273. Stringanswer=String.valueOf(result);
  274. area2.append(answer+"元");
  275. }
  276. System.out.print("/n");
  277. }
  278. }catch(ClassNotFoundExceptione){
  279. System.out.println("无法找到驱动类");
  280. System.out.println(e.toString());
  281. }catch(SQLExceptione){
  282. e.printStackTrace();
  283. }finally{
  284. try{
  285. if(rs2!=null)
  286. rs2.close();
  287. if(stmt1!=null)
  288. stmt1.close();
  289. if(connection!=null)
  290. connection.close();
  291. }catch(Exceptione){
  292. e.printStackTrace();
  293. }
  294. }
  295. }
  296. publicstaticvoidmain(String[]args){
  297. Mainpanelpanel=newMainpanel();
  298. }
  299. publicvoidactionPerformed(ActionEvente){
  300. JButtonb=(JButton)e.getSource();
  301. s1=ProductsId.getText();
  302. s2=ProductsOrderCount.getText();
  303. if(b==confirm){
  304. area2.setText("");
  305. area3.setText("");
  306. area4.setText("");
  307. area7.append(""+s2+"/n");
  308. System.out.println(s1);
  309. System.out.println(s2);
  310. if(s1.equals("001")){
  311. temp=001;
  312. JDBC();
  313. temp1=001;
  314. getAnswer();
  315. }
  316. if(s1.equals("002")){
  317. temp=002;
  318. JDBC();
  319. temp1=002;
  320. getAnswer();
  321. }
  322. if(s1.equals("003")){
  323. temp=003;
  324. JDBC();
  325. temp1=003;
  326. getAnswer();
  327. }
  328. if(s1.equals("004")){
  329. temp=004;
  330. JDBC();
  331. temp1=004;
  332. getAnswer();
  333. }
  334. if(s1.equals("005")){
  335. temp=005;
  336. JDBC();
  337. temp1=005;
  338. getAnswer();
  339. }
  340. if(s1.equals("006")){
  341. temp=006;
  342. JDBC();
  343. temp1=006;
  344. getAnswer();
  345. }
  346. if(s1.equals("007")){
  347. temp=007;
  348. JDBC();
  349. temp1=007;
  350. getAnswer();
  351. }
  352. if(s1.equals("008")){
  353. temp=010;
  354. JDBC();
  355. temp1=010;
  356. getAnswer();
  357. }
  358. if(s1.equals("009")){
  359. temp=011;
  360. JDBC();
  361. temp1=011;
  362. getAnswer();
  363. }
  364. if(s1.equals("010")){
  365. temp=012;
  366. JDBC();
  367. temp1=012;
  368. getAnswer();
  369. }
  370. }elseif(b==sure){
  371. Stringreceivprice=area3.getText();
  372. intreceivprice1=Integer.parseInt(receivprice);
  373. receivprice1_show=receivprice1-result;
  374. Stringanswer2=String.valueOf(receivprice1_show);
  375. area4.append(answer2+"元");
  376. }
  377. }
  378. }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值