表格是最常用的數(shù)據(jù)統(tǒng)計(jì)形式之一,在 swing 中 由 JTable 類實(shí)現(xiàn)表格。接下來,我們看看怎么利用 JTable 創(chuàng)建表格。
在 JTable 類中除了默認(rèn)的構(gòu)造方法外,還提供了利用指定表格列名數(shù)組和表格數(shù)據(jù)數(shù)組創(chuàng)建表格的構(gòu)造方法,代碼如下:
1
|
JTable(Object[][] rowDate,Object[] columnNames) |
參數(shù)說明:
rowDate:封裝表格數(shù)據(jù)的數(shù)組。
columnNames:封裝表格列名的數(shù)組。
在使用表格時(shí),通常將其添加到滾動(dòng)面板中,然后將滾動(dòng)面板添加到相應(yīng)的位置。下面看一個(gè)例子。
實(shí)例1:創(chuàng)建可以滾動(dòng)的表格。
本實(shí)例利用構(gòu)造方法 JTable(Object[][] rowDate,Object[] columnNames)創(chuàng)建了一個(gè)表格,并將表格添加到了滾動(dòng)面板中,代碼如下:
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( "創(chuàng)建可以滾動(dòng)的表格" ); setBounds( 100 , 100 , 240 , 150 ); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); String[] columnNames = { "A" , "B" }; //定義表格列明數(shù)組 //定義表格數(shù)據(jù)數(shù)組 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" }}; //創(chuàng)建指定列明和數(shù)據(jù)的表格 JTable table = new JTable(tableValues,columnNames); //創(chuàng)建顯示表格的滾動(dòng)面板 JScrollPane scrollPane = new JScrollPane(table); //將滾動(dòng)面板添加到邊界布局的中間 getContentPane().add(scrollPane, BorderLayout.CENTER); } } |
運(yùn)行本實(shí)例,適當(dāng)調(diào)整窗體高度,將出現(xiàn)滾動(dòng)條。
在 JTable 類中還提供了利用指定表格列名向量和表格數(shù)據(jù)向量創(chuàng)建表格的構(gòu)造方法,代碼如下:
1
|
JTable(Vector rowData.Vector columnNames) |
參數(shù)說明:
rowDate:封裝表格數(shù)據(jù)的向量;
columnNames:封裝表格列名的向量。
在使用表格時(shí),有時(shí)并不需要使用滾動(dòng)條,即在窗體中可以顯示出整個(gè)表格,在這種情況下,也可以直接將表格添加到相應(yīng)的容器中。
實(shí)例2:創(chuàng)建不可滾動(dòng)的表格。
本實(shí)例利用構(gòu)造方法 JTable(Vector rowData, Vector columnNames)創(chuàng)建了一個(gè)表格,并將表格直接添加到了容器中,代碼如下:
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( "創(chuàng)建不可滾動(dòng)的表格" ); 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); } //創(chuàng)建指定表格列名和表格數(shù)據(jù)的表格 JTable table = new JTable(tableValueV,columnNameV); //將表格添加到邊界布局的中間 getContentPane().add(table,BorderLayout.CENTER); JTableHeader tableHeader = table.getTableHeader(); getContentPane().add(tableHeader,BorderLayout.NORTH); } } |
運(yùn)行本實(shí)例,當(dāng)上下調(diào)整窗體高度時(shí),不會(huì)出現(xiàn)滾動(dòng)條。如果將上面代碼中的最后兩行去掉,再次運(yùn)行,會(huì)發(fā)現(xiàn)新的窗體中表格沒有列名。
總結(jié)
以上就是關(guān)于創(chuàng)建可滾動(dòng)和不可滾動(dòng)的表格的方法和相關(guān)實(shí)例,希望對(duì)大家有所幫助。
感謝大家對(duì)服務(wù)器之家的支持!