社区
Java SE
帖子详情
熟悉JLIST的进来看下
ACCPY111
2007-01-08 05:29:08
问大家个问题 我用对象数组构造了一个JLIST,有没有方法在这个对象数组后添加其他的对象数组
...全文
347
8
打赏
收藏
熟悉JLIST的进来看下
问大家个问题 我用对象数组构造了一个JLIST,有没有方法在这个对象数组后添加其他的对象数组
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ACCPY111
2007-01-08
打赏
举报
回复
package system;
import java.sql.*;
/**
* <p>Title: 信息系统</p>
* <p>Description: 信息系统的查询和输出</p>
* <p>Copyright: Copyright (c) 2007</p>
* <p>Company: ACCP</p>
* @author not attributable
* @version 1.0
*/
public class DateBase {
private String db;
private String uname;
private String pwd;
private Connection conn;
private Statement stat;
DateBase(String db,String uname,String pwd) {
this.db = db;
this.uname = uname;
this.pwd = pwd;
}
public ResultSet executeQuery(String sql) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (ClassNotFoundException ex) {
ex.printStackTrace();
return null;
}
try {
conn = DriverManager.getConnection("jdbc:odbc:" + this.db, uname,pwd);
if(conn==null) {
return null;
} else {
stat = conn.createStatement();
return stat.executeQuery(sql);
}
}
catch (SQLException ex1) {
ex1.printStackTrace();
return null;
}
}
}
ACCPY111
2007-01-08
打赏
举报
回复
package system;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.sql.*;
import java.io.*;
/**
* <p>Title: 信息系统</p>
* <p>Description: 信息系统的查询和输出</p>
* <p>Copyright: Copyright (c) 2007</p>
* <p>Company: ACCP</p>
* @author 刘海斌
* @version 1.0
*/
public class SystemFrame extends JFrame {
JPanel contentPane;
JScrollPane listScrollPane;
JList jList1 = new JList();
JTextField jTextField1 = new JTextField();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
ArrayList[] list;
JLabel jLabel1 = new JLabel();
JComboBox jComboBox1 = new JComboBox();
StringBuffer sb = new StringBuffer();
String[] str;
//Construct the frame
public SystemFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(null);
this.setSize(new Dimension(400, 300));
this.setTitle("Frame Title");
jTextField1.setText("");
jTextField1.setBounds(new Rectangle(150, 226, 75, 30));
jButton1.setBounds(new Rectangle(243, 234, 56, 24));
jButton1.setText("查询");
jButton1.addActionListener(new SystemFrame_jButton1_actionAdapter(this));
jButton2.setBounds(new Rectangle(316, 234, 59, 24));
jButton2.setText("导出");
jButton2.addActionListener(new SystemFrame_jButton2_actionAdapter(this));
jLabel1.setText("包含");
jLabel1.setBounds(new Rectangle(115, 226, 27, 30));
jComboBox1.setBounds(new Rectangle(28, 226, 79, 30));
listScrollPane = new JScrollPane(jList1);
listScrollPane.setBounds(new Rectangle(20, 11, 360, 200));
contentPane.add(jTextField1, null);
contentPane.add(jButton2, null);
contentPane.add(jComboBox1, null);
contentPane.add(jButton1, null);
contentPane.add(jLabel1, null);
contentPane.add(listScrollPane,null);
String[] str = new String[]{"请选择","au_lname","au_fname","address","city"};
addItem(jComboBox1,str);
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
void jButton1_actionPerformed(ActionEvent e) {
String str = (String)jComboBox1.getSelectedItem();
String txt = jTextField1.getText();
String sql = "select * from authors where "+ str +" like '%"+ txt +"%'";
DateBase db = new DateBase("todb","sa","sa");
ResultSet rs = db.executeQuery(sql);
this.show(rs);
}
private void addItem(JComboBox jcb,String[] str) {
for (int i = 0; i < str.length; i++) {
jcb.addItem(str[i]);
}
}
/*private void show(ResultSet rs) {
try {
ResultSetMetaData rsmd = rs.getMetaData();
int count = rsmd.getColumnCount();
ArrayList[] tmp = new ArrayList[count];
for (int i = 0; i < count; i++) {
tmp[i] = new ArrayList();
}
while (rs.next()) {
for(int i=0;i<count;i++) {
tmp[i].add(rs.getObject(i+1));
}
}
putData(tmp);
jList1.setListData(list);
}
catch (SQLException ex) {
ex.printStackTrace();
}
}
private void putData(ArrayList[] tmp) {
list = new ArrayList[tmp[0].size()] ;
for(int i=0;i<list.length;i++) {
list[i] = new ArrayList();
for(int j=0;j<tmp.length;j++) {
list[i].add(tmp[j].get(i));
}
}
}*/
private void show(ResultSet rs) {
DefaultListModel storeResult=new DefaultListModel();
jList1.setModel(storeResult);
try {
ResultSetMetaData rsmd = rs.getMetaData();
int count = rsmd.getColumnCount();
String[] tmp = new String[count];
for (int i = 0; i <tmp.length; i++) {
tmp[i] = new String();
}
while(rs.next()) {
for(int i=0;i<tmp.length;i++) {
tmp[i] = rs.getString(i+1)+"\n";
sb.append(tmp[i]);
storeResult.addElement(tmp[i]);
}
}
System.out.println(sb);
}
catch (SQLException ex) {
ex.printStackTrace();
}
}
void jButton2_actionPerformed(ActionEvent e) {
File f = new File("d:/1.txt");
try {
if(!f.exists()) {
f.createNewFile();
}
FileWriter fw = new FileWriter(f);
BufferedWriter bw = new BufferedWriter(fw);
str = sb.toString().split("\n");
for(int i=0;i<str.length;i++) {
bw.write(str[i]);
bw.newLine();
}
bw.flush();
bw.close();
fw.close();
}
catch (IOException ex) {
ex.printStackTrace();
}
}
}
class SystemFrame_jButton1_actionAdapter implements java.awt.event.ActionListener {
SystemFrame adaptee;
SystemFrame_jButton1_actionAdapter(SystemFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}
class SystemFrame_jButton2_actionAdapter implements java.awt.event.ActionListener {
SystemFrame adaptee;
SystemFrame_jButton2_actionAdapter(SystemFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton2_actionPerformed(e);
}
}
ACCPY111
2007-01-08
打赏
举报
回复
解决了
daniel_zwn
2007-01-08
打赏
举报
回复
将jlist放到一个jscrollpane里边
ACCPY111
2007-01-08
打赏
举报
回复
恩,成功了,可是怎么给JList加上滚动条呢?
playfish05
2007-01-08
打赏
举报
回复
好像
DefaultListModel这种数组类型有提供这样的添加方法
你的JList就用DefaultListModel构造
JList jlist=new JList();
DefaultListModel storeResult=new DefaultListModel();
jlist.setModel(storeResult);
storeResult.addElement(object obj)
这里的obj可以指定为你查询结果的数组。我没有试过,你试试这样应该可以。用DefaultListModel你更新数据后JList中的数据也会同步更新,可以不用repaint();
ACCPY111
2007-01-08
打赏
举报
回复
我是连SQLSERVER的时候进行查询,所以返回的记录数不确定,但是字段数数确定的,然后要求将返回的RESULTSET显示要JLIST上,要求格式是比如:
1
张三
男
26
2
李四
男
27
3
王五
男
28
playfish05
2007-01-08
打赏
举报
回复
好像没找到这样的方法。。不过我觉得应该可以将2个数组合并,然后调用
JList的setListData方法重新构造
javaSwing羊了羊游戏开发+最全速成GUI(含实战)
实战设计:让知识更加固 除游戏实战外,为满足在校同学对于GUI的需求,课程最后带同学们学习更多的高级GUI组件(比如JTable、
JList
等)。 毕业设计:让毕业设计不迷茫 项目选择的游戏是常见毕业论文素材项目,本...
几年JAVA的编程经验汇总
1.关于动态加载机制?? 学习Java比C++更容易理解OOP的思想,毕竟C++还混合了不少面向过程的成分。很多人都能背出来Java语言的特点,所谓的动态加载机制等等。当然概念往往是先记住而后消化的,可有多少人真正去体会过动态加载的机制,试图去寻找过其中的细节呢? 提供大家一个方法:在命令行窗口运行Java程序的时候,加上这个很有用的参数: java -verbose *.class 这样会清晰的打印出被加载的类文件,大部分是jdk自身运行需要的,最后几行会明显的看到自己用到的那几个类文件被加载
进来
学生信息后台管理系统(GUI)
使用java的GUI实现学生信息后台管理系统,虽然不如.net中实现方便,但通过更接近于控件源码的实现方式,可以了解java中代码的使用,以及控件的具体实现代码,而不是只能再界面上进行拖拽和属性构建。通过构建此系统,
熟悉
java使用JDBC连接数据库,并实现对数据库的增、删、改、查,不仅可以加强java中对数据的处理能力,还能加强数据库的SQL语句编写能力,为之后的web及框架打下良好的基础。
我被老板炒鱿鱼了!因为我在IDE里看漂亮小姐姐跳舞!(IntelliJ IDEA插件开发之打造炫酷动态背景墙)
去年在新电脑上看视频的时候,在触摸板上做了一个缩放的手势把程序列表call出来了 我那时候是纯黑色的壁纸,视频也刚好播放到白色衣服人物在黑夜中的画面,加上若隐若现的应用程序图标,这虚实结合的效果使得画面中的人物变得立体起来了!甚至有一种身临其境的感觉! 我当时就觉得,哇这种效果好棒啊,就像在播放透明背景的视频一样。记得那时候还在鸿神的群里讨论了一下关于播放透明视频的话题,后面有群友提到Android Studio就有个自带的设置透明背景图的功能。 第二
Java常用基础知识点总结(最全)
Java基础知识点总结 大纲 一、Java基础(语言、集合框架、OOP、设计模式等) 二、Java高级(JavaEE、框架、服务器、工具等) 三、多线程和并发 四、Java虚拟机 五、数据库(Sql、MySQL、Redis等) 六、算法与数据结构 七、计算机网络 八、操作系统(OS基础、Linux等) 九、其他 ### 一、Java基础(语言、集合框架、OOP、设计模式等) 1. HashMap和Hashtable的区别 Hashtable是基于陈旧的Dictionary的Map接
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章