上一篇
最新动态 📢(2025年8月)
Java 18最近优化了Swing组件的渲染性能,JTable的滚动流畅度提升了30%!现在展示海量数据库记录时,再也不用担心卡顿啦~
JTable是Java Swing中的"表格小能手",能把数据库查询结果变成规整的二维表格,支持排序、编辑、分页等操作,就像Excel的Java版,但更轻量!
经典使用场景:
// 使用JDBC连接MySQL(2025年推荐用try-with-resources自动关闭连接) try (Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/mydb", "user", "password")) { // 后续操作... }
String sql = "SELECT id, name, salary FROM employees"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql);
// 妙招:DefaultTableModel会自动适配数据 DefaultTableModel model = new DefaultTableModel(); model.addColumn("工号"); // 列标题 model.addColumn("姓名"); model.addColumn("薪资"); while (rs.next()) { model.addRow(new Object[]{ rs.getInt("id"), rs.getString("name"), rs.getDouble("salary") }); }
JTable table = new JTable(model); table.setRowHeight(30); // 行高 table.getTableHeader().setFont(new Font("微软雅黑", Font.BOLD, 14)); // 表头字体 // 添加滚动条(重要!) JScrollPane scrollPane = new JScrollPane(table);
JFrame frame = new JFrame("员工数据表"); frame.add(scrollPane); frame.setSize(800, 600); frame.setVisible(true);
table.setDefaultEditor(Object.class, null); // 禁用所有单元格编辑
table.setDefaultRenderer(Double.class, new DefaultTableCellRenderer() { @Override public Component getTableCellRendererComponent(...) { Component c = super.getTableCellRendererComponent(...); if ((double)value > 6000) { c.setForeground(Color.RED); } return c; } });
table.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { int row = table.getSelectedRow(); String name = (String) table.getValueAt(row, 1); JOptionPane.showMessageDialog(null, "你选中了:" + name); } });
?useUnicode=true&characterEncoding=UTF-8
暗黑模式支持:
table.setBackground(new Color(30, 30, 30)); table.setForeground(Color.WHITE);
动画排序:使用JXTable
扩展组件实现平滑排序动画
JTable就像数据库和用户之间的"翻译官",掌握它就能让枯燥的数据活起来!现在就去试试把你的数据库内容变成漂亮的表格吧~ (记得保存代码时Ctrl+S哦)
小贴士:在IntelliJ IDEA 2025中,输入
jt.new
可以自动生成JTable模板代码!
本文由 化若菱 于2025-08-05发表在【云服务器提供商】,文中图片由(化若菱)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/539903.html
发表评论