这是我的代码:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Test{
static CardLayout cardLayout;
static JPanel card = new JPanel();
public static void main(String[] args) {
JFrame frame = new JFrame("AddressBook");
JPanel contentPane = (JPanel)frame.getContentPane();
card.setLayout(cardLayout = new CardLayout());
JPanel cardTop = new JPanel();
DefaultTableModel model = new DefaultTableModel();
model.addColumn("Name");
model.addColumn("Number");
String[] John = {"John", "1234"};
model.addRow(John);
String[] Beth = {"Beth", "4444"};
model.addRow(John);
JTable table = new JTable(model);
JScrollPane jsp = new JScrollPane(table);
cardTop.add(jsp);
card.add("Card Top", cardTop);
contentPane.add(card);
frame.setVisible(true);
frame.setSize(507, 191);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); …Run Code Online (Sandbox Code Playgroud) 我使用这个3类来显示数据库中的数据JTable.
public class TableContent {
private final Vector<String> headers;
private final Vector<Vector<String>> content;
public TableContent(final Vector<String> headers, final Vector<Vector<String>> content) {
this.headers = headers;
this.content = content;
}
public Vector<String> headers() {
return headers;
}
public Vector<Vector<String>> content() {
return content;
}
Run Code Online (Sandbox Code Playgroud)
和:
public class TableData {
public TableContent getData() {
Vector<String> headers = new Vector<String>();
Vector<Vector<String>> content = new Vector<Vector<String>>();
try {
Connection conn = DriverManager.getConnection("");
Statement statement = conn.createStatement();
ResultSet rs = statement.executeQuery("Select * from table"); …Run Code Online (Sandbox Code Playgroud) 在此图片中,返回表头值显示在复选框中.
这里jtable来自数据库的值
我尝试了但是因为boolean值强制转换为字符串而发生了classcastexception
我不知道为什么会发生错误

这是我的代码
static Object[][] data;
String[] colName = {"Book", "Member", "Issue Date", "Return Date ",
"Remark","Return" };
List<Issue>issues=ServiceFactory.getIssueServiceImpl().findAllIssue();
data=new Object[issues.size()][6];
for(Issue issue:issues){
data[i][0]=issue.getMemberId().getName();
data[i][1]=issue.getBookId().getName();
data[i][2]=issue.getIssueDate();
data[i][3]=issue.getReturnDate();
data[i][4]=issue.getRemark();
data[i][5]=issue.getStatus();
i++;
}
Run Code Online (Sandbox Code Playgroud)
这里发生例外
DefaultTableModel dtm = new DefaultTableModel(data, colName);{
public Class getColumnClass(int c) {
switch (c) {
case 0: return Boolean.class;
default: return String.class;
}
} };
retunTable = new JTable();
retunTable.setModel(dtm);
retunTable.getTableHeader().setReorderingAllowed(false);
return retunTable;
Run Code Online (Sandbox Code Playgroud)
如果你知道这个,请在这里分享答案......
编辑
DefaultTableModel dtm = new DefaultTableModel(data, colName);{
public Class getColumnClass(int c) {
switch …Run Code Online (Sandbox Code Playgroud) 我正在尝试以这样的方式显示患者数据列表,即名称位于我的JList的左侧,并且标识号全部整齐地排列在右侧.我已经查看过甚至为此任务实现了JTable的使用,因为它提供了我希望在这个项目中实现的整洁的列结构,但是有一些功能我要么不知道如何实现,要么我觉得缺乏JTable.
无法根据字母数字键转换我的列表.这是最终用户快速搜索列表的主要方式,因为填充时它可以超过800行.(例如:输入's'转换到以's开头的列表部分)
在视觉上我不喜欢JTables的行选择; 使用两列结构显然两列之间存在中断,与JList不同,这是一个很好的平滑无缝突出显示选择.所有网格线都已关闭,以及使用单元格编辑作为FYI.
我已经包含了我认为的相关代码.我希望能有一些方向,如果我要求的是用JList完成的,还是有办法更好地操作JTable?我没有在JTable API和JList API中找到任何内容,我觉得我在这个问题上回答了我的问题.
package mosaiqToCTWorklist;
import java.awt.Font;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import javax.swing.ButtonGroup;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.border.EmptyBorder;
public class PatientSelectionWindow extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private JRadioButton rdbtnActivePatients;
private JRadioButton rdbtnInactivePatients;
private JRadioButton rdbtnAllPatients;
private JButton btnSendSelection;
private JList<String> patients;
private JScrollPane …Run Code Online (Sandbox Code Playgroud) 我找到了以下代码:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
DefaultTableModel tableModel = new DefaultTableModel();
JTable table = new JTable();
table.setModel(tableModel);
int c=0;
Vector rl=new Vector<Object(6);
rl.add(c+1);
rl.add(jTextField1.getText());
rl.add(jTextField11.getText());
rl.add(jTextField7.getText());
rl.add(jTextField8.getText());
rl.add(jTextField9.getText());
tableModel.addRow(rl);}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
我必须复制与pcode,产品名称,价格,数量,总价格相对应的字段,这些字段是文本字段,当我点击添加按钮到其中给出的表格时