Jtable实现
package database;
import java.util.Vector;
import javax.swing.table.AbstractTableModel;
public class Empmodel extends AbstractTableModel{
Vector<String> colums;
Vector<Vector> rows;
//写一个方法,用于查询需要的显示的人事信息
public void query(){
this.colums=new Vector<String>();
this.colums.add("员工号");
this.colums.add("姓名");
this.colums.add("性别");
this.colums.add("职位");
rows=new Vector<Vector>();
for (int i=1;i<=10;i++){
Vector<String> tem=new Vector<String>();
tem.add(i+"");
tem.add("luozt"+i+"");
tem.add("男");
tem.add("QA");
rows.add(tem);
}
}
@Override
public String getColumnName(int column) {
// TODO Auto-generated method stub
return this.colums.get(column).toString();
}
@Override
public int getRowCount() {
// TODO Auto-generated method stub
return this.rows.size();
}
@Override
public int getColumnCount() {
// TODO Auto-generated method stub
return this.colums.size();
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
// TODO Auto-generated method stub
return ((Vector)rows.get(rowIndex)).get(columnIndex);
}
}
//调用上面的JTable
package UI;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import database.Empmodel;
import tools.mytool;
public class EmpInfo extends JPanel{
public static void main(String[] args) {
// TODO Auto-generated method stub
EmpInfo emp=new EmpInfo();
}
JPanel jp1,jp2,jp3,jp4,jp5;
JLabel jp1_label,jp3_label;
JTextField jp1_jtf;
JButton jp1_button,jp4_button1,jp4_button2,jp4_button3,jp4_button4;
JTable jtb;
JScrollPane jsp;
public EmpInfo(){
jp1=new JPanel(new FlowLayout(FlowLayout.CENTER));
jp1_label=new JLabel("请输入姓名(员工或职位)");
jp1_label.setFont(mytool.f2);
jp1_jtf=new JTextField(20);
jp1_button=new JButton("查询");
jp1_button.setFont(mytool.f3);
jp1.add(jp1_label);
jp1.add(jp1_jtf);
jp1.add(jp1_button);
//center
Empmodel emp=new Empmodel();
emp.query();
jtb=new JTable(emp);
jp2=new JPanel(new BorderLayout());
//jtb 要放在JScrollPane里否则表头看不见
jsp=new JScrollPane(jtb);
jp2.add(jsp);
jp2.setBorder(BorderFactory.createTitledBorder("人事信息"));
jp3=new JPanel(new FlowLayout(FlowLayout.LEFT));
jp3_label=new JLabel("总记录是10条");
jp3_label.setFont(mytool.f3);
jp3.add(jp3_label);
jp4=new JPanel(new FlowLayout(FlowLayout.RIGHT));
jp4_button1=new JButton("详细信息");
jp4_button1.setFont(mytool.f3);
jp4_button2=new JButton("修改");
jp4_button2.setFont(mytool.f3);
jp4_button3=new JButton("添加");
jp4_button3.setFont(mytool.f3);
jp4_button4=new JButton("删除");
jp4_button4.setFont(mytool.f3);
jp4.add(jp4_button1);
jp4.add(jp4_button2);
jp4.add(jp4_button3);
jp4.add(jp4_button4);
jp5=new JPanel(new BorderLayout());
jp5.add(jp3,"West");
jp5.add(jp4,"East");
this.setLayout(new BorderLayout());
this.add(jp1,"North");
this.add(jp2,"Center");
this.add(jp5,"South");
//this.setBackground(Color.pink);
this.setVisible(true);
}
}
Jtable实现的更多相关文章
- swing中JTable的使用方法
public static void main(String[] args) { Student s1 = new Student("张三", "001", 0 ...
- Jtable 表格按多列排序(支持中文汉字排序)
这两天公司让做一个Jtable表格的排序,首先按A列排序,在A列相等时按B列排序,B列相等时按C列排序,ABC三列可以任意指定,最多分三列,这样的一个需求.由于我是大神,所以必须做了出来.ok,不自恋 ...
- Java — JTree and JTable以及sqlServer的两种连接
使用JTree的步骤: 暂时只能创建一个头结点,创建一个树的结点作为头结点(其子结点也是相同的创建方法):DefaultMutableTreeNode headNode = new DefaultMu ...
- ABP JTable如何手动刷新子表数据
function getSubMaster() { _$masterTable.find('.jtable-child-table-container').jtable('reload'); }
- jtable插件api
官网2016-03-15 事例图: 一.客户端配置 1. paging boolean default:false 配置是否分页,果断改为true. 2. pageList string defaul ...
- ASP.NET ZERO 学习 JTable的使用子表闭合功能
双击子表自动判定开闭功能 //CHILD TABLE DEFINITION FOR "PHONE NUMBERS" Phones: { title: '', width: '5%' ...
- ASP.NET ZERO 学习 JTable的ChildTable用法
效果图: Jtable的子表用法: _$masterTable.jtable({ title: app.localize('PharmacyInventory'), openChildAsAccord ...
- jtable更新数据
static JTable table; public void refrushTableData() { String[] columnNames = { " }; String[][] ...
- 实现Java JTable的应用案例
代码如下 import Java.awt.Component; import java.awt.Dimension; import java.awt.FontMetrics; import javax ...
- JavaSE GUI显示列表 JTable的刷新 重新加载新的数据
JTable在显示所有数据之后,假如需要搜索某个名字,则会获取新的列表数据. 假设datas是JTable的数据,定义为: private Vector<Vector> datas = n ...
随机推荐
- Linux系统资源查询命令(cpu、io、mem)
cpu/mem: 1. 指定pid top -p pid1,pid2,... 2. top排序 先top,然后 输入大写P,则结果按CPU占用降序排序.输入大写M,结果按内存占用降序排序. io: ...
- FTP下载
import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import ja ...
- Ag-grid控件使用pine:left后,配合iview下拉框,会出现闪烁
Ag-grid控件使用pinned:left后,配合iview下拉框,会出现闪烁 引起原因:下拉图标的反转动画 目前解决方案: 添加一个全局样式: 禁用动画,其他地方也是如此, 影响控件有:gz-tr ...
- SOA 面向服务架构 阅读笔记(四)
15 SOA管理 15.1 管理指的是实现一个制约和平衡的一致过程,以确保得到期望的结果. 15.2 管理被广泛应用于人工流程和软件流程中,一旦管理失败,后果会非常严重. 15.3 SOA管理的首要 ...
- 20145222黄亚奇 《网络对抗技术》 MAL_逆向与Bof基础
学习目的 通过一些方法,使能够运行本不该被运行的代码部分,或得到shell的使用: 将正常运行代码部分某处call后的目标地址,修改为另一部分我们希望执行.却本不应该执行的代码部分首地址(这需要我们有 ...
- Win32 API编程:WinMain无法重载函数或_tWinMain无法重载
#include "windows.h" #include "tchar.h" int APIENTRY _tWinMain( HINSTANCE hInsta ...
- 第二节课-Data-driven approach:KNN和线性分类器分类图片
2017-08-12 1.图片分类是很多CV任务的基础: 2.图片分类要面临很多的问题,比如图片被遮挡,同一种动物有很多种颜色,形状等等,算法需要足够强壮: 3.所以很难直接写出程序来进行图片分类,常 ...
- 4950: [Wf2017]Mission Improbable
4950: [Wf2017]Mission Improbable Time Limit: 1 Sec Memory Limit: 512 MBSubmit: 608 Solved: 222[Sub ...
- 泛型学习第三天——C#读取数据库返回泛型集合 把DataSet类型转换为List<T>泛型集合
定义一个类: public class UserInfo { public System.Guid ID { get; set; } public string LoginName ...
- HDU 5884 Sort(2016年青岛网络赛 G 二分+贪心+小优化)
好题 题意:给你n<=100000个数,每个数范围[0,1000],然后给你一个最大的代价T,每次最多合并k个数成为一个数,代价为k个数的总和.问最后合成1个数的总代价不大于T的最小k 题解:我 ...