选择显示字体大小

用swing实现数据表格功能

最近有个项目是delphi来做的,之中有很多地方要用到数据表格。这种功能在delphivb中能很方便的做出来,java

有提供这项功能,但是可以用jtable 来实现,不过就是麻烦了点:)。

下面是我用applet实现的一个简单数据表格程序代码。
package com.applet.cat10;

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
import com.util.*;
import java.util.*;
import javax.swing.table.*;
import java.sql.*;

/**
* title: cat工程
* description: bcat
* copyright: copyright (c) 2001
* company: smartcomm
* @author daniel
* @version 1.0
*/

public class testdatabase extends japplet {
boolean isstandalone = false;
jbutton jbutton1 = new jbutton(); //触发时间查询按扭
database db=new database();
jtable table1 = new jtable();
jscrollpane scroll = new jscrollpane();
jtextfield text1 = new jtextfield();

defaulttablemodel dtm; //定义表格的数据模型
vector vcdata=null; //定义表的列名(以vector存储)
resultset rsrow=null; //查询表的数据集合

/**construct the applet*/
public testdatabase() {
}
/**initialize the applet*/
public void init() {
try {
jbinit();
userinit(); //自定义的操作都在次方法中
}
catch(exception e) {
e.printstacktrace();
}
}
/**component initialization*/
private void jbinit() throws exception {
jbutton1.settext("jbutton1");
jbutton1.setbounds(new rectangle(26, 225, 79, 29));
jbutton1.addactionlistener(new java.awt.event.actionlistener() {
public void actionperformed(actionevent e) {
jbutton1_actionperformed(e);
}
});
this.setsize(new dimension(664, 300));
this.getcontentpane().setlayout(null);
scroll.setbounds(new rectangle(12, 24, 644, 189));
text1.setbounds(new rectangle(16, 271, 365, 22));
this.getcontentpane().add(scroll, null);
this.getcontentpane().add(jbutton1, null);
// this.getcontentpane().add(text1, null);
scroll.getviewport().add(table1, null);
}

/*userinit() 数据表格的初始化*/
public void userinit()
{
db.connect(); //数据库连接
vcdata=db.getfieldnames("t_registration"); //得出列名(vector存储)
dtm=new defaulttablemodel(); //定义模式
table1.setmodel(dtm); //设定表模式

/**for 列出标题烂**/
for(int i=0;i<vcdata.size();i++)
dtm.addcolumn((string)vcdata.elementat(i));

rsrow=db.executequerytable("t_registration"); //得出数据集合

}

/**start the applet*/
public void start() {
}
/**stop the applet*/
public void stop() {
}

/**destroy the applet*/
public void destroy() {
}
//static initializer for setting look & feel
static {
try {
//uimanager.setlookandfeel(uimanager.getsystemlookandfeelclassname());
//uimanager.setlookandfeel(uimanager.getcrossplatformlookandfeelclassname());
}
catch(exception e) {
}
}

//触发查询事件
void jbutton1_actionperformed(actionevent e)
{

try
{

while(rsrow.next())
{
vector vrdata=new vector();
for(int i=0;i<vcdata.size();i++)
{
vrdata.addelement(rsrow.getstring((string)vcdata.elementat(i))); //列举列数据(vector存

储)
}
dtm.addrow(vrdata); //向表中添家数据
}


db.close();
}catch(exception ei)
{
system.out.println("error at jbutton1_actionperformed! in testdatabase" + ei.tostring());
}

}
}

这个程序简单的实现了数据表格功能,初始化状态是数据表格只有标题,当click 按扭显示数据。

1。在userinit()方法中做了数据表格的初始化,关键的方法:
建立表格模型: defaulttablemodel dtm=new defaulttablemodel(),
设定表模型:table1.setmodel(dtm)
设定表格标题:(一切操作可以在模型上做) dtm.addcolumn(vector arg),arg是表的标题,也就是field名字数组
得出数据的结果集合:rsrow=db.executequerytable("t_registration"),这就是一般的数据查询结果哦

2。在 void jbutton1_actionperformed(actionevent e)中显示数据,关键方法:
以行的方式加入数据:dtm.addrow(vector arg)。

3。jtable有很多的实例化方式,这里采用的是defaulttablemodel模型,对表的操作都可以建立在模型上。

4。以后如果更改表中的数据的话可以在模型上修改如:
更新3行4列的数据:dtm.setvalueat("bigcat",3,4),也可以table1.setvalueat("bigcat",3,4).
得出3行4列数据:object rs=dtm.getvalueat(3,4);
删除第3行数据:dtm.removerow(3)


具体数据表格的展现方式大家可以自己修改设定。
  


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons