请新手寻求帮助:-)
我正在做一个小项目,以熟悉Java桌面开发和数据库连接。
附加的代码在实例化后为我提供了一个空的TableModel,因此JFrame中没有显示数据。从Test.showFrame();
从主窗口的菜单中实例化测试类。
package ... import ... public class Test extends JPanel { public Test() { initializePanel(); } private void initializePanel() { // Creates an instance of TableModel CategoryTableModel tableModel = new CategoryTableModel(); System.out.println(tableModel.getRowCount()); // Creates an instance of JTable with a TableModel // as the constructor parameters. JTable table = new JTable(tableModel); table.setFillsViewportHeight(true); JScrollPane scrollPane = new JScrollPane(table); this.setPreferredSize(new Dimension(500, 200)); this.setLayout(new BorderLayout()); this.add(scrollPane, BorderLayout.CENTER); } public static void showFrame() { JPanel panel = new Test(); panel.setOpaque(true); JFrame frame = new JFrame("test"); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.setContentPane(panel); frame.pack(); frame.setVisible(true); } class CategoryTableModel extends AbstractTableModel { private List<Category> all = null; private Iterator<Category> iterator = null; private int tableRowCount; private TableModel tableModel; public CategoryTableModel(){ Vector tableData = new Vector(); // TableModel's column names Vector<String> tableHeaders = new Vector<String>(); tableHeaders.add("Category"); // Database call all = new ReadCategory().allCategories(); // TableModel's data for(Object o : all) { Vector<Object> row = new Vector<Object>(); all.forEach((n) -> row.add(new Category().getName())); tableData.add(row); System.out.println("row added"); } tableRowCount = tableData.size(); tableModel = new DefaultTableModel(tableData, tableHeaders); System.out.println(tableModel.getRowCount()); } @Override public int getRowCount() { return 0; } @Override public int getColumnCount() { return 0; } @Override public Object getValueAt(int rowIndex, int columnIndex) { return null; } } }
数据库调用正在通过Hibernate获取数据并将数据存储在。
感谢您的帮助。
[新手,请寻求帮助:-)我正在做一个小项目,以熟悉Java桌面开发和数据库连接。附加的代码在...
最基本的形式是JTable的表模型定义列,对象到列的映射并保存供JTable调用的数据。如果我们采用您当前的表模型并将其缩减以符合此基本要求,我们将获得以下信息。