修改地址信息的一个表现层类。

必须选中地址,才能修改,否则会弹出窗口提示,

修改地址界面:

  1. /*
  2. * UpdatePanel.java
  3. *
  4. */
  5. package cn.hncu.addr.ui;
  6. import javax.swing.JFrame;
  7. import javax.swing.JOptionPane;
  8. import cn.hncu.addr.business.AddrBusiness;
  9. /**
  10. *
  11. * @author __chx__
  12. */
  13. public class UpdatePanel extends javax.swing.JPanel {
  14. private JFrame mainFrame = null;
  15. private String oldStrAdd = null;
  16. public UpdatePanel(JFrame mainFrame, String oldStrAdd) {
  17. this.mainFrame = mainFrame;
  18. this.oldStrAdd = oldStrAdd;
  19. //System.out.println(oldStrAdd);
  20. initComponents();
  21. myInitCompoData();
  22. }
  23. private void myInitCompoData() {
  24. String[] oldstrs = oldStrAdd.split(",");
  25. String oldname = oldstrs[0];
  26. String oldxingbie = oldstrs[1];
  27. String oldage = oldstrs[2];
  28. String olddianhua = oldstrs[3];
  29. String oldaddress = oldstrs[4];
  30. jtfName.setText(oldname);
  31. jtfxingbie.setText(oldxingbie);
  32. jtfAge.setText(oldage);
  33. jtfDianhua.setText(olddianhua);
  34. jtfAddress.setText(oldaddress);
  35. }
  36. private void initComponents() {
  37. jPanel1 = new javax.swing.JPanel();
  38. jLabel2 = new javax.swing.JLabel();
  39. jlbAddress = new javax.swing.JLabel();
  40. jlbName1 = new javax.swing.JLabel();
  41. jlbxingbie = new javax.swing.JLabel();
  42. jlbAge = new javax.swing.JLabel();
  43. jlbDianhau = new javax.swing.JLabel();
  44. jtfAddress = new javax.swing.JTextField();
  45. jtfName = new javax.swing.JTextField();
  46. jtfxingbie = new javax.swing.JTextField();
  47. jtfAge = new javax.swing.JTextField();
  48. jtfDianhua = new javax.swing.JTextField();
  49. jbtnreturn = new javax.swing.JButton();
  50. jbtnsure = new javax.swing.JButton();
  51. setMinimumSize(new java.awt.Dimension(800, 600));
  52. setPreferredSize(new java.awt.Dimension(800, 600));
  53. setLayout(null);
  54. jPanel1.setPreferredSize(new java.awt.Dimension(800, 600));
  55. jPanel1.setLayout(null);
  56. jLabel2.setFont(new java.awt.Font("Microsoft YaHei UI", 3, 48));
  57. jLabel2.setForeground(new java.awt.Color(255, 51, 0));
  58. jLabel2.setText("\u4fee\u6539\u5730\u5740\u4fe1\u606f");
  59. jPanel1.add(jLabel2);
  60. jLabel2.setBounds(230, 20, 330, 90);
  61. jlbAddress.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 18));
  62. jlbAddress.setText("\u5730\u5740\uff1a");
  63. jPanel1.add(jlbAddress);
  64. jlbAddress.setBounds(140, 310, 60, 40);
  65. jlbName1.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 18));
  66. jlbName1.setText("\u59d3\u540d\uff1a");
  67. jPanel1.add(jlbName1);
  68. jlbName1.setBounds(140, 150, 60, 40);
  69. jlbxingbie.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 18));
  70. jlbxingbie.setText("\u6027\u522b\uff1a");
  71. jPanel1.add(jlbxingbie);
  72. jlbxingbie.setBounds(140, 190, 60, 40);
  73. jlbAge.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 18));
  74. jlbAge.setText("\u5e74\u9f84\uff1a");
  75. jPanel1.add(jlbAge);
  76. jlbAge.setBounds(140, 230, 60, 40);
  77. jlbDianhau.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 18));
  78. jlbDianhau.setText("\u7535\u8bdd\uff1a");
  79. jPanel1.add(jlbDianhau);
  80. jlbDianhau.setBounds(140, 270, 60, 40);
  81. jPanel1.add(jtfAddress);
  82. jtfAddress.setBounds(200, 320, 410, 23);
  83. jPanel1.add(jtfName);
  84. jtfName.setBounds(200, 160, 130, 23);
  85. jPanel1.add(jtfxingbie);
  86. jtfxingbie.setBounds(200, 200, 190, 23);
  87. jPanel1.add(jtfAge);
  88. jtfAge.setBounds(200, 240, 260, 23);
  89. jPanel1.add(jtfDianhua);
  90. jtfDianhua.setBounds(200, 280, 330, 23);
  91. jbtnreturn.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 24));
  92. jbtnreturn.setForeground(new java.awt.Color(0, 204, 204));
  93. jbtnreturn.setText("\u53d6\u6d88");
  94. jbtnreturn.addActionListener(new java.awt.event.ActionListener() {
  95. public void actionPerformed(java.awt.event.ActionEvent evt) {
  96. jbtnreturnActionPerformed(evt);
  97. }
  98. });
  99. jPanel1.add(jbtnreturn);
  100. jbtnreturn.setBounds(490, 430, 110, 70);
  101. jbtnsure.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 24));
  102. jbtnsure.setForeground(new java.awt.Color(255, 0, 51));
  103. jbtnsure.setText("\u4fee\u6539");
  104. jbtnsure.addActionListener(new java.awt.event.ActionListener() {
  105. public void actionPerformed(java.awt.event.ActionEvent evt) {
  106. jbtnsureActionPerformed(evt);
  107. }
  108. });
  109. jPanel1.add(jbtnsure);
  110. jbtnsure.setBounds(140, 430, 110, 70);
  111. add(jPanel1);
  112. jPanel1.setBounds(0, 0, 810, 600);
  113. }
  114. //修改地址信息
  115. private void jbtnsureActionPerformed(java.awt.event.ActionEvent evt) {
  116. // 表现层代码的基本写法
  117. String newname = jtfName.getText();
  118. String newxingbie = jtfxingbie.getText();
  119. String newage = jtfAge.getText();
  120. String newdianhua = jtfDianhua.getText();
  121. String newaddress = jtfAddress.getText();
  122. //测试数据是否对上
  123. // System.out.println("name="+name);
  124. // System.out.println("xingbie="+xingbie);
  125. // System.out.println("age="+age);
  126. // System.out.println("dianhua="+dianhua);
  127. // System.out.println("address="+address);
  128. boolean isNum = true;
  129. // 数据简单校验----示范,可以做得更好
  130. try {
  131. Integer.parseInt(newage);
  132. Long.parseLong(newdianhua);
  133. } catch (NumberFormatException e) {
  134. JOptionPane.showMessageDialog(this, "温馨提示:\n电话或年龄的输入格式不对,请重新输入!");
  135. isNum = false;
  136. // System.out.println("年龄或电话输入格式不对,请重新输入!");
  137. }
  138. //地址和姓名中不能包含英文的逗号
  139. String s = "" + ',';
  140. if (newaddress.contains(s) || newname.contains(s)
  141. || newxingbie.contains(s)) {
  142. JOptionPane
  143. .showMessageDialog(this, "温馨提示:\n地址或姓名中不能包含“,”逗号,请重新输入!");
  144. isNum = false;
  145. }
  146. if (isNum) {
  147. // 2.组织参数-这里是简单演示,直接用str封装。以后如果遇到复杂的数据,应该用值对象。
  148. String newStrAdd = newname + "," + newxingbie + "," + newage + ","
  149. + newdianhua + "," + newaddress;
  150. // 3.调用逻辑层
  151. AddrBusiness set = new AddrBusiness();
  152. boolean flag = set.update(oldStrAdd, newStrAdd);
  153. // 4.根据逻辑层的返回结果,导向不同的结果界面
  154. if (flag) {
  155. mainFrame.setContentPane(new ListPanel(mainFrame));
  156. mainFrame.validate();
  157. } else {
  158. JOptionPane.showMessageDialog(this, "温馨提示:\n本次修改失败!\n请自行检查错误!");
  159. }
  160. }
  161. }
  162. private void jbtnreturnActionPerformed(java.awt.event.ActionEvent evt) {
  163. mainFrame.setContentPane(new ListPanel(mainFrame));
  164. mainFrame.validate();
  165. }
  166. private javax.swing.JLabel jLabel2;
  167. private javax.swing.JPanel jPanel1;
  168. private javax.swing.JButton jbtnreturn;
  169. private javax.swing.JButton jbtnsure;
  170. private javax.swing.JLabel jlbAddress;
  171. private javax.swing.JLabel jlbAge;
  172. private javax.swing.JLabel jlbDianhau;
  173. private javax.swing.JLabel jlbName1;
  174. private javax.swing.JLabel jlbxingbie;
  175. private javax.swing.JTextField jtfAddress;
  176. private javax.swing.JTextField jtfAge;
  177. private javax.swing.JTextField jtfDianhua;
  178. private javax.swing.JTextField jtfName;
  179. private javax.swing.JTextField jtfxingbie;
  180. }

【4】JAVA---地址App小软件(UpdatePanel.class)(表现层)的更多相关文章

  1. Java---设计模式app小软件汇总应用

    写了一个app小软件,重点不在于软件,软件bug挺多,也没去修改. 这个小软件只是为了更好的说明和了解设计模块而做的. Java 程序设计–包结构 Java程序设计的系统体系结构很大一部分都体现在包结 ...

  2. 【1】JAVA---地址App小软件(AddressApp.class)(初步接触项目开发的分层思想)(表现层)

    这个是表现层的main方法. 实现的地址信息有: 姓名,性别,年龄,电话,地址. 实现的功能有: 增加地址: 删除地址: 修改地址: 查找地址:其中年龄的查找为年龄段的查找. 数据存储的方式为文件存储 ...

  3. 【6】JAVA---地址App小软件(QueryPanel.class)(表现层)

    查找模块: 年龄可进行段查找. 其他的都是模糊匹配. 空格为无用字符,会屏蔽的(除年龄). (如果在年龄中输入空格,会出现异常,当时没想到这点,要防护这点很容易的,但因为在这个小软件的编写过程,我主要 ...

  4. 【2】JAVA---地址App小软件(ListPanel.class)(表现层)

    这个是表现层的主界面. /* * ListPanel.java * */ package cn.hncu.addr.ui; import javax.swing.JFrame; import java ...

  5. 【8】JAVA---地址App小软件(AddrDaoFile .class)(数据层)

    实现数据进行文件的存储和读写. 本软件也就到此结束了. 没多少可以讲的. 因为这个小软件也就8个类,主要学习的也就是一个分层思想的简单应用. package cn.hncu.addr.dao; imp ...

  6. 【5】JAVA---地址App小软件(DeletePanel.class)(表现层)

    删除地址的表现层类. 如果没有选中要删除的地址信息,会出现窗口提示: 删除地址界面:(无法修改数据,只能看) /* * DeletePanel.java * */ package cn.hncu.ad ...

  7. 【3】JAVA---地址App小软件(AddPanel.class)(表现层)

    添加地址信息界面. 年龄和地址必须是数字,否则会弹出窗口提示. 地址信息不能为空. /* * AddPanel.java * * Created on __DATE__, __TIME__ */ pa ...

  8. 【7】JAVA---地址App小软件(AddrBusiness.class)(逻辑层)

    这个...没多少好解释的... 表现层的增删改查的具体实现类. package cn.hncu.addr.business; import javax.swing.JOptionPane; impor ...

  9. Java生鲜电商平台-APP/小程序接口传输常见的加密算法及详解

    Java生鲜电商平台-APP/小程序接口传输常见的加密算法及详解 说明:Java生鲜电商平台-APP/小程序接口传输常见的加密算法及详解,加密算法,是现在每个软件项目里必须用到的内容. 广泛应用在包括 ...

随机推荐

  1. How To Cluster Rabbit-MQ--reference

    Foreword This explanation of clustering Rabbit-MQ assumes that you’ve had some experience with Rabbi ...

  2. xcode6制作IOS .a静态库小记

    xcode6制作IOS .a静态库小记 创建iOS静态库 简单写个打印的代码 编码完成之后,直接Run就能成功生成.a文件了,选择 xCode->Window->Organizer-> ...

  3. Ubuntu设置环境变量的几种方法

    1.Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1.1 永久的:需要修改配置文件,变量永久生效. 1.2 临时的:使用export命令声明即可,变量在关闭shell时失效 ...

  4. BestCoder冠军赛 - 1005 Game 【DP】

    [题意] 给出一个set,set中有几个数. 现在给出n个人,环成一圈搞约瑟夫... 开始时从第1号报数,每次从set中随机选出一个数s,等报数到s后,报s的人出圈,其他人继续报数. 最后只剩1人时, ...

  5. 使用CSS、JS的几种方法

    引用CSS到html网页里的4种方法 1.行内式 在标记的style属性中设定CSS样式,这种方式本质上没有体现出CSS的优势,因此不推荐使用     <div style="widt ...

  6. Lambda表达式 简介 语法 示例

    Lambda 表达式也称为闭包,是匿名类的简短形式.Lambda 表达式简化了[单一抽象方法声明接口]的使用,因此 lambda 表达式也称为功能接口. 在 Java SE 7 中,单一方法接口可使用 ...

  7. ASP.NET-FineUI开发实践-15

    1.按条件控制Grid不可编辑     Grid编辑其实用到的不多...但是也有要控制权限或者其他条件不能编辑的情况其实挺简单,学过extjs的知道,我现在也只是写前台了,没有写到后台事件,有时间再说 ...

  8. Linq101-Miscellaneous

    using System; using System.Collections.Generic; using System.Linq; namespace Linq101 { class Miscell ...

  9. HTML 学习笔记

    1HTML 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的. 并且只有这6种标题,标题中加多个空格,和一个空格没区别,标题文字前后加默认空格会被去除. ...

  10. 编译安装php时提示Cannot find MySQL header files的解决方法

    php的配置文件中有一行--with-mysql=/usr/local/mysql ,安装的时候提示:configure: error: Cannot find MySQL header files ...