- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 Camick 的 ListTableModel和 RowTableModel从这里http://tips4java.wordpress.com/2009/03/12/table-from-database/
但是,JTable 没有出现。有谁知道为什么?我没有收到任何错误。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
public class AddressBook {
JLabel name, address, phone, email;
JTextField nameField, addressField, phoneField, emailField;
JButton addPerson, addEntry, cancelEntry;
JTable table;
ListTableModel model;
JDialog addEntryDialog;
String[] headings = {"Name", "Address", "Phone #", "Email"};
AddressBook() {
try {
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
} catch (ClassNotFoundException e) {
System.out.println(e);
}
try {
Connection con = DriverManager.getConnection("jdbc:derby://localhost:1527/AddressBook", "addressbook", "addressbook");
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery("SELECT * FROM APP.ADDRESSBOOK");
ListTableModel model = ListTableModel.createModelFromResultSet(rs);
rs.close();
//resultset.close();
stmt.close();
con.close();
} catch(SQLException e){
System.err.println(e);
}
JFrame frame = new JFrame("Address Book");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);
frame.getContentPane().setLayout(new FlowLayout());
ButtonListener listener = new ButtonListener();
addPerson = new JButton("New Entry");
addPerson.addActionListener(listener);
table = new JTable(model);
JScrollPane scroll = new JScrollPane(table);
scroll.setPreferredSize(new Dimension(500, 490));
//Add a person Dialog
name = new JLabel("Name:");
address = new JLabel("Address:");
phone = new JLabel("Phone:");
email = new JLabel("Email:");
nameField = new JTextField(8);
addressField = new JTextField(8);
phoneField = new JTextField(8);
emailField = new JTextField(8);
addEntry = new JButton("Save");
addEntry.addActionListener(listener);
cancelEntry = new JButton("Cancel");
cancelEntry.addActionListener(listener);
addEntryDialog = new JDialog(frame, "Add a Person");
addEntryDialog.setSize(190, 300);
addEntryDialog.getContentPane().setLayout(new FlowLayout());
addEntryDialog.getContentPane().add(name);
addEntryDialog.getContentPane().add(nameField);
addEntryDialog.getContentPane().add(address);
addEntryDialog.getContentPane().add(addressField);
addEntryDialog.getContentPane().add(phone);
addEntryDialog.getContentPane().add(phoneField);
addEntryDialog.getContentPane().add(email);
addEntryDialog.getContentPane().add(emailField);
addEntryDialog.getContentPane().add(cancelEntry);
addEntryDialog.getContentPane().add(addEntry);
//end of Add a person dialog
frame.getContentPane().add(addPerson);
frame.getContentPane().add(table);
frame.setVisible(true);
}
class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
JButton source = (JButton) event.getSource();
if (source == addPerson) {
addEntryDialog.setVisible(true);
}
if (source == addEntry) {
//add to db
}
if (source == cancelEntry) {
addEntryDialog.setVisible(false);
}
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new AddressBook();
}
});
}
}
最佳答案
再次查看您的代码,问题在于您已将“模型”变量定义为类变量和实例变量。实例变量包含来自 ResultSet 的数据。用于创建表的类变量为空。代码应该是:
//ListTableModel model = ListTableModel.createModelFromResultSet(rs);
model = ListTableModel.createModelFromResultSet(rs);
关于java - 使用 Rob Camick 的 ListTableModel,但未显示 JTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3454220/
我是 robmongo 的新手,我收到了编写一些查询的任务。 假设我有一个集合,每个键都有一些值,例如“userId”的值和“deviceModel”的值。我需要编写一个查询,显示每个设备型号有多少用
在 Rob Pike 的 2012 年演讲中,Concurrency is not Parallelism (it's better) ,他有一个正在运行的例子,说明一群 gophers 一起工作来焚
我正在关注这个 tutorial by Rob Hyndman用于初始化(附加)。 计算初始值的步骤指定为: 我在 Rob Hydman free online text book. 中提供的数据集上
请在阅读答案后阅读我在问题末尾的更新: I'm trying to apply repository pattern as Rob Conery's described on his blog und
我已经使用 Rob Conery 对存储库模式(来自 MVC Storefront 项目)的旋转实现了一个 DAL,其中我使用 Linq 将数据库对象映射到域对象,并使用 Linq to SQL 来实
我正在使用 Rob Conery's Massive连接到我的数据库,但我似乎无法将动态对象列表保存到数据库中。不过,我认为这是受支持的。 这是我尝试使用的代码: int numberOfCh
我正在使用 Camick 的 ListTableModel和 RowTableModel从这里http://tips4java.wordpress.com/2009/03/12/table-from-
我正在尝试实现 this awesome map ,但我不知道如何缩放它。更改容器 div 的大小或高度/宽度值只会裁剪底层 map 。我想我需要 paper.scaleAll(.5) 在这里的某个地
是否有 Rob Conery 的 Massive for NoSQL (MongoDB) 的等价物? 我喜欢Massive非常喜欢,但我想将它与 NoSQL 数据库一起使用,尤其是与 MongoDB
在过去的几周里,我一直在关注 ZF2,尤其是 Rob Allen's 'Album' example ,我创建了示例 DB-'zf2tutorial' 和示例表-'album',当我使用 php-my
这是从“Google I/O 2012 - Go Concurrency Patterns”(slides)中获取的代码示例 package main import ( "fmt" "
我正在尝试为客户的订单日志创建一个 html 表。客户定义为(我遗漏了很多东西): public class Customer { public LazyList Orders { get;
我正在尝试使用 Rob Hess's SIFT library在我的 C++ 项目中。我浏览了其他 SIFT 实现(的代码),但这个似乎最像 Lowe 的原始论文中的阶段划分,并且还使用了我熟悉的 O
我是一名优秀的程序员,十分优秀!