【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/小程序接口传输常见的加密算法及详解,加密算法,是现在每个软件项目里必须用到的内容. 广泛应用在包括 ...
随机推荐
- 第一篇:数据工程师眼中的智能电网(Smart Grid)
前言 想必第一次接触到智能电网这个概念的人,尤其是互联网从业者,都会顾名思义的将之理解为"智能的电网". 然而智能电网中的"智能"是广义上的智能,它就是指更好的 ...
- codevs 1993 草地排水 USACO
/*Dinic*/ #include<iostream> #include<cstdio> #include<cstring> #include<queue& ...
- HighCharts常用设置(摘抄笔录)
- propertychange input change
IE678 支持propertychange事件,可以监听所有属性(包括自定义属性)的改变事件,包括手动修改输入框文本以及js修改输入框文本. propertychange事件有个特点就是不支持冒泡, ...
- 二、C# 数据类型
C#语言的基本类型包括8种整数类型.2种用于科学计算的二进制浮点类型.1种用于金融计算的十 进制浮点类型.1种布尔类型以及1种字符类型. 2.1 基本数值类型 C#中的基本数据类型都有关键字和它们关联 ...
- JavaScript_数组
/** * 数组本身也是对象 * js中数组类似于java里的map容器 长度可随意改变 ,元素类型任意 * */ // var arr = new Array(); // var arr = [1, ...
- JDK1.5中LOCK,Condition的使用
import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.uti ...
- Thinkphp发布文章获取第一张图片为缩略图实现方法
正则匹配图片地址获取第一张图片地址 此为函数 在模块或是全局Common文件夹中的function.php中 /** * [getPic description] * 获取文本中首张图片地址 * @p ...
- php常用的排序算法与二分法查找
一 : 归并排序 将两个的有序数列合并成一个有序数列,我们称之为"归并".归并排序(Merge Sort)就是利用归并思想对数列进行排序.根据具体的实现,归并排序包括"从 ...
- C++ 性能剖析 (一)
C++ 性能剖析 (一) 性能问题也不是仅仅用“技术”可以解决的,它往往是架构,测试,假设等综合难题.不过,对于一个工程师来说,必须从小做起,把一些“明显”的小问题解决.否则的话积小成多,千里堤坝,溃 ...