表格是最常用的数据统计形式之一,在 swing 中 由 JTable 类实现表格。接下来,我们看看怎么利用 JTable 创建表格。
在 JTable 类中除了默认的构造方法外,还提供了利用指定表格列名数组和表格数据数组创建表格的构造方法,代码如下:
1
|
JTable(Object[][] rowDate,Object[] columnNames) |
参数说明:
rowDate:封装表格数据的数组。
columnNames:封装表格列名的数组。
在使用表格时,通常将其添加到滚动面板中,然后将滚动面板添加到相应的位置。下面看一个例子。
实例1:创建可以滚动的表格。
本实例利用构造方法 JTable(Object[][] rowDate,Object[] columnNames)创建了一个表格,并将表格添加到了滚动面板中,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
public class ExampleFrame_01 extends JFrame{ public static void main(String[] args) { ExampleFrame_01 frame = new ExampleFrame_01(); frame.setVisible( true ); } public ExampleFrame_01() { super (); setTitle( "创建可以滚动的表格" ); setBounds( 100 , 100 , 240 , 150 ); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); String[] columnNames = { "A" , "B" }; //定义表格列明数组 //定义表格数据数组 String[][] tableValues = {{ "A1" , "B1" },{ "A2" , "B2" },{ "A3" , "B3" }, { "A4" , "B4" },{ "A5" , "B5" },{ "A5" , "B5" },{ "A5" , "B5" },{ "A5" , "B5" }, { "A5" , "B5" },{ "A5" , "B5" },{ "A5" , "B5" },{ "A5" , "B5" },{ "A5" , "B5" }, { "A5" , "B5" },{ "A5" , "B5" }}; //创建指定列明和数据的表格 JTable table = new JTable(tableValues,columnNames); //创建显示表格的滚动面板 JScrollPane scrollPane = new JScrollPane(table); //将滚动面板添加到边界布局的中间 getContentPane().add(scrollPane, BorderLayout.CENTER); } } |
运行本实例,适当调整窗体高度,将出现滚动条。
在 JTable 类中还提供了利用指定表格列名向量和表格数据向量创建表格的构造方法,代码如下:
1
|
JTable(Vector rowData.Vector columnNames) |
参数说明:
rowDate:封装表格数据的向量;
columnNames:封装表格列名的向量。
在使用表格时,有时并不需要使用滚动条,即在窗体中可以显示出整个表格,在这种情况下,也可以直接将表格添加到相应的容器中。
实例2:创建不可滚动的表格。
本实例利用构造方法 JTable(Vector rowData, Vector columnNames)创建了一个表格,并将表格直接添加到了容器中,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
public class ExampleFrame_02 extends JFrame{ public static void main(String[] args) { ExampleFrame_02 frame = new ExampleFrame_02(); frame.setVisible( true ); } public ExampleFrame_02() { super (); setTitle( "创建不可滚动的表格" ); setBounds( 100 , 100 , 240 , 150 ); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Vector<String>columnNameV = new Vector<>(); columnNameV.add( "A" ); columnNameV.add( "B" ); Vector<Vector<String>>tableValueV = new Vector<>(); for ( int row = 1 ;row< 6 ;row++) { Vector<String>rowV = new Vector<>(); rowV.add( "A" +row); rowV.add( "B" +row); tableValueV.add(rowV); } //创建指定表格列名和表格数据的表格 JTable table = new JTable(tableValueV,columnNameV); //将表格添加到边界布局的中间 getContentPane().add(table,BorderLayout.CENTER); JTableHeader tableHeader = table.getTableHeader(); getContentPane().add(tableHeader,BorderLayout.NORTH); } } |
运行本实例,当上下调整窗体高度时,不会出现滚动条。如果将上面代码中的最后两行去掉,再次运行,会发现新的窗体中表格没有列名。
总结
以上就是关于创建可滚动和不可滚动的表格的方法和相关实例,希望对大家有所帮助。
感谢大家对服务器之家的支持!