Tag: defaulttablemodel

如何在JTable列中只选择一个复选框

我使用DefaultTableModel如下: DefaultTableModel model = new DefaultTableModel (COLUMNS, 0 ) { @Override public boolean isCellEditable(int row, int column) { return (getColumnName(column).equals(“Selected”)); } public Class getColumnClass(int columnIndex) { if(getColumnName(columnIndex).equals(“Selected”)) return Boolean.class; return super.getColumnClass(columnIndex); } }; 现在我想在“Selected”列中只选择一个复选框。 如何才能做到这一点。 我也尝试了以下方法,但它不起作用。 public void fireTableCellUpdated(int row,int column) { if(getColumnName(column).equals(“Selected”)) { for(int i = 0; i<getRowCount() && i!=row;i++) setValueAt(Boolean.FALSE, row, column); } […]

如何使JTable的单元格不可编辑,但可选择

我在我的代码中重写了JTable类的isCellEditable()方法,使我的JTable的单元格不可编辑但可选,但单元格仍然可编辑。 我该如何解决这个问题? import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; public class A extends JTable{ JFrame frame = new JFrame(); Object data[][] = {{“1″,”Jahanzeb”},{“2″,”Ahmed”},{“3″,”Shaikh”}}; String col[] = {“#”,”Names”}; DefaultTableModel tableModel = new DefaultTableModel(data, col); JTable table = new JTable(tableModel); JScrollPane scroll = new JScrollPane(table); public static void main(String arg[]){ new A(); […]

JTable:按整数排序

我有一个JTable,我想有时按整数(大小列)排序行,有时按字符串(文件路径)排序。 所以我在谷歌搜索它,我来到这里。 我已经知道我要覆盖一个名为getColumnClass的DefaultTableModel方法。 所以我在这里链接我的代码。 class Personal_model extends DefaultTableModel{ Personal_model(String[][] s,String[] i){ super(s,i); } @Override public Class getColumnClass(int columnIndex){ if (columnIndex!=2) return String.class; else return Integer.class; } } 这里是通过模型’Personal_model’创建表的代码; 我还设置了roworter。 但是这一切都不起作用!!!!! 帮帮我吧 modeltable = new Personal_model(data,col); table = new JTable(modeltable); table.setRowSorter(new TableRowSorter(modeltable)); 通常情况下,没有我的排序器,所有都是完整的可视化,并且字符串被正确排序(很明显,因为通常它们都按字符串排序..)

将DefaultTableModel数据复制到剪贴板

我有下一个JTable private void initComponents() { jScrollPane1 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); jButton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); getContentPane().setLayout(null); jTable1.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { {“Hat”, “New York”, “1000”}, {“T-Shirt”, “New York”, “3500”}, {“Sweater”, “Washington”, “2800”}, {“Bag”, “California”, “7000”}, }, new String [] { “Name”, “Warehouse”, “Quantity” } )); jScrollPane1.setViewportView(jTable1); getContentPane().add(jScrollPane1); […]

将列添加到退出TableModel

我有课; public class A extends AbstractTableModel { … } 使用ResultSetMetaData我构建TableModel以匹配数据库中的结果集。 public class B extends JPanel { … } 在B类中 ,我扩展了JPanel并添加了A类来显示我的表。 我希望能够根据条件向表模型添加新列。 我试过google搜索,但大多数示例都是基于DefaultTableModel而不是AbstractTableModel 。 有谁知道如何实现这一目标?

使用数据库数据填充jTable

我正在尝试使用我的Derby数据库数据填充Netbeans GUI-builder jTable。 我在我的Account.java类中使用以下代码: public DefaultTableModel getData() { try { String stmt = “SELECT * FROM APP.DATAVAULT”; PreparedStatement ps = Main.getPreparedStatement(stmt); ResultSet rs = ps.executeQuery(); ResultSetMetaData md = rs.getMetaData(); int columnCount = md.getColumnCount(); Vector columns = new Vector(columnCount); //store column names for (int i = 1; i <= columnCount; i++) { columns.add(md.getColumnName(i)); } Vector data […]