java jtable根据值设置行颜色_Swing 使用 JTable详解

本文介绍了如何在Java Swing中使用JTable,包括基本表格创建、JScrollPane的使用、设置列宽、理解并应用TableModel、结合DAO操作数据、监听选中项变化、更新表格、输入项验证以及选中指定行的方法。详细示例代码展示了JTable的各种功能和操作技巧。
摘要由CSDN通过智能技术生成

步骤1:基本表格步骤2:JScrollPane步骤3:列宽步骤4:TableModel步骤5:进一步理解TableModel步骤6:TableModel 与DAO结合步骤7:TableSelectionModel步骤8:更新Table步骤9:输入项验证步骤10:选中指定行

示例 1 : 基本表格
显示一个Table需要两组数据
1. 一维数组: String[]columnNames 表示表格的标题
2. 二维数组: String[][] heros 表格中的内容
默认情况下,表格的标题是不会显示出来了,除非使用了JScrollPane

31d7d5f90b02914538e549a0393acc32.png

package gui;import java.awt.BorderLayout;import javax.swing.JFrame;import javax.swing.JTable;public class TestGUI { public static void main(String[] args) { JFrame f = new JFrame("LoL");f.setSize(400, 300);f.setLocation(200, 200);f.setLayout(new BorderLayout());// 表格上的titleString[] columnNames = new String[] { "id", "name", "hp", "damage" };// 表格中的内容,是一个二维数组String[][] heros = new String[][] { { "1", "盖伦", "616", "100" },{ "2", "提莫", "512", "102" }, { "3", "奎因", "832", "200" } };JTable t = new JTable(heros, columnNames);f.add(t, BorderLayout.CENTER);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setVisible(true);}}示例 2 : JScrollPane
JScrollPane: 带滚动条的Panel
把table放进去就可以看到table的title
同样的把textarea放进去,并且textarea内容够长的话,就会看到滚动条

5daf77f5af04a4eda7b3a80a91fa200c.png

package gui;import java.awt.BorderLayout;import javax.swing.JFrame;import javax.swing.JScrollPane;import javax.swing.JTable;public class TestGUI { public static void main(String[] args) { JFrame f = new JFrame("LoL");f.setSize(400, 300);f.setLocation(200, 200);f.setLayout(new BorderLayout());String[] columnNames = new String[] { "id", "name", "hp", "damage" };String[][] heros = new String[][] { { "1", "盖伦", "616", "100" },{ "2", "提莫", "512", "102" }, { "3", "奎因", "832", "200" } };JTable t = new JTable(heros, columnNames);// 根据t创建 JScrollPaneJScrollPane sp = new JScrollPane(t);//或则创建一个空的JScrollPane,再通过setViewportView把table放在JScrollPane中// JScrollPane sp = new JScrollPane(t);// sp.setViewportView(t);// 把sp而非JTable加入到JFrame上,f.add(sp, BorderLayout.CENTER);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setVisible(true);}}示例 3 : 列宽
设置列宽度

904c96865f9a41a5a1c260537ad559c7.png

package gui;import java.awt.BorderLayout;import javax.swing.JFrame;import javax.swing.JScrollPane;import javax.swing.JTable;public class TestGUI { public static void main(String[] args) { JFrame f = new JFrame("LoL");f.setSize(400, 300);f.setLocation(200, 200);f.setLayout(new BorderLayout());String[] columnNames = new String[] { "id", "name", "hp", "damage" };String[][] heros = new String[][] { { "1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值