【6】JAVA---地址App小软件(QueryPanel.class)(表现层)
查找模块:
年龄可进行段查找。
其他的都是模糊匹配。
空格为无用字符,会屏蔽的(除年龄)。
(如果在年龄中输入空格,会出现异常,当时没想到这点,要防护这点很容易的,但因为在这个小软件的编写过程,我主要学的是java项目开发的分层思想,软件可能bug比较多,望见谅。)
/*
* QueryPanel.java
*
*/
package cn.hncu.addr.ui;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import cn.hncu.addr.business.AddrBusiness;
/**
*
* @author __chx__
*/
public class QueryPanel extends javax.swing.JPanel {
private JFrame mainFrame = null;
String[] strsQu = null;
public QueryPanel(JFrame mainFrame) {
this.mainFrame = mainFrame;
initComponents();
myInitComponents();
}
private void myInitComponents() {
strsQu = new String[6];
jtfAge1.setText("0");
jtfAge.setText("999");
}
private void initComponents() {
jLabel2 = new javax.swing.JLabel();
jlbName1 = new javax.swing.JLabel();
jtfName = new javax.swing.JTextField();
jtfxingbie = new javax.swing.JTextField();
jlbxingbie = new javax.swing.JLabel();
jlbAge = new javax.swing.JLabel();
jtfAge = new javax.swing.JTextField();
jtfDianhua = new javax.swing.JTextField();
jlbDianhau = new javax.swing.JLabel();
jlbAddress = new javax.swing.JLabel();
jtfAddress = new javax.swing.JTextField();
jbtnFind = new javax.swing.JButton();
jbtnreturn = new javax.swing.JButton();
jtfAge1 = new javax.swing.JTextField();
jLabel1 = new javax.swing.JLabel();
setMinimumSize(new java.awt.Dimension(800, 600));
setLayout(null);
jLabel2.setFont(new java.awt.Font("Microsoft YaHei UI", 3, 48));
jLabel2.setForeground(new java.awt.Color(255, 51, 0));
jLabel2.setText("\u67e5\u627e\u5730\u5740\u4fe1\u606f");
add(jLabel2);
jLabel2.setBounds(230, 20, 330, 90);
jlbName1.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 18));
jlbName1.setText("\u59d3\u540d\uff1a");
add(jlbName1);
jlbName1.setBounds(140, 150, 60, 40);
add(jtfName);
jtfName.setBounds(200, 160, 130, 23);
add(jtfxingbie);
jtfxingbie.setBounds(200, 200, 190, 23);
jlbxingbie.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 18));
jlbxingbie.setText("\u6027\u522b\uff1a");
add(jlbxingbie);
jlbxingbie.setBounds(140, 190, 60, 40);
jlbAge.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 18));
jlbAge.setText("\u5e74\u9f84\u6bb5\uff1a");
add(jlbAge);
jlbAge.setBounds(120, 230, 80, 40);
add(jtfAge);
jtfAge.setBounds(340, 240, 70, 23);
add(jtfDianhua);
jtfDianhua.setBounds(200, 280, 330, 23);
jlbDianhau.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 18));
jlbDianhau.setText("\u7535\u8bdd\uff1a");
add(jlbDianhau);
jlbDianhau.setBounds(140, 270, 60, 40);
jlbAddress.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 18));
jlbAddress.setText("\u5730\u5740\uff1a");
add(jlbAddress);
jlbAddress.setBounds(140, 310, 60, 40);
add(jtfAddress);
jtfAddress.setBounds(200, 320, 410, 23);
jbtnFind.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 24));
jbtnFind.setForeground(new java.awt.Color(255, 0, 51));
jbtnFind.setText("\u67e5\u627e");
jbtnFind.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnFindActionPerformed(evt);
}
});
add(jbtnFind);
jbtnFind.setBounds(140, 430, 110, 70);
jbtnreturn.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 24));
jbtnreturn.setForeground(new java.awt.Color(0, 204, 204));
jbtnreturn.setText("\u53d6\u6d88");
jbtnreturn.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnreturnActionPerformed(evt);
}
});
add(jbtnreturn);
jbtnreturn.setBounds(490, 430, 110, 70);
add(jtfAge1);
jtfAge1.setBounds(200, 240, 70, 23);
jLabel1.setText("\u2014\u2014");
add(jLabel1);
jLabel1.setBounds(290, 240, 41, 17);
}
private void jbtnreturnActionPerformed(java.awt.event.ActionEvent evt) {
mainFrame.setContentPane(new ListPanel(mainFrame));
mainFrame.validate();
}
private void jbtnFindActionPerformed(java.awt.event.ActionEvent evt) {
// 表现层代码的基本写法
strsQu[0] = jtfName.getText();
strsQu[1] = jtfxingbie.getText();
strsQu[2] = jtfAge1.getText();
strsQu[3] = jtfDianhua.getText();
strsQu[4] = jtfAddress.getText();
strsQu[5] = jtfAge.getText();
// 3.调用逻辑层
AddrBusiness set = new AddrBusiness();
Object[] objs = set.query(strsQu);
// for(int i=0;i<objs.length;i++){
// System.out.println(objs[i]);
// }
// 4.根据逻辑层的返回结果,导向不同的结果界面
mainFrame.setContentPane(new ListPanel(mainFrame,objs));
mainFrame.revalidate();
}
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JButton jbtnFind;
private javax.swing.JButton jbtnreturn;
private javax.swing.JLabel jlbAddress;
private javax.swing.JLabel jlbAge;
private javax.swing.JLabel jlbDianhau;
private javax.swing.JLabel jlbName1;
private javax.swing.JLabel jlbxingbie;
private javax.swing.JTextField jtfAddress;
private javax.swing.JTextField jtfAge;
private javax.swing.JTextField jtfAge1;
private javax.swing.JTextField jtfDianhua;
private javax.swing.JTextField jtfName;
private javax.swing.JTextField jtfxingbie;
}
【6】JAVA---地址App小软件(QueryPanel.class)(表现层)的更多相关文章
- Java---设计模式app小软件汇总应用
写了一个app小软件,重点不在于软件,软件bug挺多,也没去修改. 这个小软件只是为了更好的说明和了解设计模块而做的. Java 程序设计–包结构 Java程序设计的系统体系结构很大一部分都体现在包结 ...
- 【1】JAVA---地址App小软件(AddressApp.class)(初步接触项目开发的分层思想)(表现层)
这个是表现层的main方法. 实现的地址信息有: 姓名,性别,年龄,电话,地址. 实现的功能有: 增加地址: 删除地址: 修改地址: 查找地址:其中年龄的查找为年龄段的查找. 数据存储的方式为文件存储 ...
- 【2】JAVA---地址App小软件(ListPanel.class)(表现层)
这个是表现层的主界面. /* * ListPanel.java * */ package cn.hncu.addr.ui; import javax.swing.JFrame; import java ...
- 【8】JAVA---地址App小软件(AddrDaoFile .class)(数据层)
实现数据进行文件的存储和读写. 本软件也就到此结束了. 没多少可以讲的. 因为这个小软件也就8个类,主要学习的也就是一个分层思想的简单应用. package cn.hncu.addr.dao; imp ...
- 【5】JAVA---地址App小软件(DeletePanel.class)(表现层)
删除地址的表现层类. 如果没有选中要删除的地址信息,会出现窗口提示: 删除地址界面:(无法修改数据,只能看) /* * DeletePanel.java * */ package cn.hncu.ad ...
- 【4】JAVA---地址App小软件(UpdatePanel.class)(表现层)
修改地址信息的一个表现层类. 必须选中地址,才能修改,否则会弹出窗口提示, 修改地址界面: /* * UpdatePanel.java * */ package cn.hncu.addr.ui; im ...
- 【3】JAVA---地址App小软件(AddPanel.class)(表现层)
添加地址信息界面. 年龄和地址必须是数字,否则会弹出窗口提示. 地址信息不能为空. /* * AddPanel.java * * Created on __DATE__, __TIME__ */ pa ...
- 【7】JAVA---地址App小软件(AddrBusiness.class)(逻辑层)
这个...没多少好解释的... 表现层的增删改查的具体实现类. package cn.hncu.addr.business; import javax.swing.JOptionPane; impor ...
- Java生鲜电商平台-APP/小程序接口传输常见的加密算法及详解
Java生鲜电商平台-APP/小程序接口传输常见的加密算法及详解 说明:Java生鲜电商平台-APP/小程序接口传输常见的加密算法及详解,加密算法,是现在每个软件项目里必须用到的内容. 广泛应用在包括 ...
随机推荐
- java 线程三种实现方式
1继承thread public class MultiThread1 extends Thread{ public void run(){ for(int i=0; i<7; i++){ Sy ...
- [转]Vim 复制粘帖格式错乱问题的解决办法
有时候,复制文本(尤其是代码)到 Vim,会出现格式错乱的问题.看样子,应该是自动缩进惹得祸.本文不去深究原因,直接给出解决方法. 1. paste 模式 运行如下命令,进入 paste 模式: :s ...
- Python之路,Day14 - It's time for Django
Python之路,Day14 - It's time for Django 本节内容 Django流程介绍 Django url Django view Django models Django ...
- C# 邮件发送注意事项
使用QQ邮箱作为smtp服务器时,遇到 "命令顺序不正确. 服务器响应为: AUTH first..",解决办法: smtpClient.UseDefaultCredentials ...
- 2015 Multi-University Training Contest 5
#include <iostream> //1002 #include<set> #include<stdio.h> using namespace std; co ...
- ExecuteScalar 要求已打开且可用的 Connection。连接的当前状态为已关闭。
本人遇到的一个小问题,希望能帮助大家 出现这个问题就是在此操作之前已经被的程序关闭了连接,比如在执行这块代码之前不幸执行了存储过程..,就会导致这个问题发生
- C# 带参访问接口,WebClient方式
1.当参数的数据较大时.WebClient同步. //实例化WebClient client = new WebClient();//地址 string path = "http://oa. ...
- 对ajax的hack的分析
先上原文链接:对jQuery ajax请求成功(失败)回调执行前的统一处理(兼容较老版本jQuery) 原文中已经提到了使用场景了,我觉得这非常适合单页面应用,还有backbone应用中.毕竟ajax ...
- 05DotNet基本常用类库
1.String成员方法(常用) bool Contains(String str);判断字符串对象是否包含给定的字符串; bool StartsWith(String str);判断字符串对象是否以 ...
- mysql启动不了:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket
ps aux |grep mysql kill所有列出的进程,然后重启 service mysql start 原因有可能是mysqld没启动:service mysqld start. 持续出现此问 ...