Java創(chuàng)建表格實(shí)例詳解 原創(chuàng)
表格是最常用的數(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)造方法,代碼如下:
JTable(Object[][] rowDate,Object[] columnNames)
參數(shù)說明:
rowDate:封裝表格數(shù)據(jù)的數(shù)組。
columnNames:封裝表格列名的數(shù)組。
在使用表格時(shí),通常將其添加到滾動面板中,然后將滾動面板添加到相應(yīng)的位置。下面看一個(gè)例子。
實(shí)例1:創(chuàng)建可以滾動的表格。
本實(shí)例利用構(gòu)造方法 JTable(Object[][] rowDate,Object[] columnNames)創(chuàng)建了一個(gè)表格,并將表格添加到了滾動面板中,代碼如下:
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)建可以滾動的表格");
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)建顯示表格的滾動面板
JScrollPane scrollPane = new JScrollPane(table);
//將滾動面板添加到邊界布局的中間
getContentPane().add(scrollPane, BorderLayout.CENTER);
}
}
運(yùn)行本實(shí)例,適當(dāng)調(diào)整窗體高度,將出現(xiàn)滾動條。
在 JTable 類中還提供了利用指定表格列名向量和表格數(shù)據(jù)向量創(chuàng)建表格的構(gòu)造方法,代碼如下:
JTable(Vector rowData.Vector columnNames)
參數(shù)說明:
rowDate:封裝表格數(shù)據(jù)的向量;
columnNames:封裝表格列名的向量。
在使用表格時(shí),有時(shí)并不需要使用滾動條,即在窗體中可以顯示出整個(gè)表格,在這種情況下,也可以直接將表格添加到相應(yīng)的容器中。
實(shí)例2:創(chuàng)建不可滾動的表格。
本實(shí)例利用構(gòu)造方法 JTable(Vector rowData, Vector columnNames)創(chuàng)建了一個(gè)表格,并將表格直接添加到了容器中,代碼如下:
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)建不可滾動的表格");
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í),不會出現(xiàn)滾動條。如果將上面代碼中的最后兩行去掉,再次運(yùn)行,會發(fā)現(xiàn)新的窗體中表格沒有列名。
總結(jié)
以上就是關(guān)于創(chuàng)建可滾動和不可滾動的表格的方法和相關(guān)實(shí)例,希望對大家有所幫助。
感謝大家對腳本之家的支持!
相關(guān)文章
Mybatis空值關(guān)聯(lián)的具體實(shí)現(xiàn)
在復(fù)雜的數(shù)據(jù)庫查詢中,處理空值關(guān)聯(lián)是一項(xiàng)常見的需求,本文就來介紹一下Mybatis空值關(guān)聯(lián)的具體實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07
Java實(shí)現(xiàn)經(jīng)典俄羅斯方塊游戲
俄羅斯方塊是一個(gè)最初由阿列克謝帕吉特諾夫在蘇聯(lián)設(shè)計(jì)和編程的益智類視頻游戲。本文將利用Java實(shí)現(xiàn)這一經(jīng)典的小游戲,需要的可以參考一下2022-01-01
springboot?vue測試列表遞歸查詢子節(jié)點(diǎn)下的接口功能實(shí)現(xiàn)
這篇文章主要為大家介紹了springboot?vue測試列表遞歸查詢子節(jié)點(diǎn)下的接口功能實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
SpringBoot系列教程之dubbo和Zookeeper集成方法
這篇文章主要介紹了SpringBoot系列教程之dubbo和Zookeeper集成方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
Java數(shù)據(jù)結(jié)構(gòu)和算法之鏈表詳解
鏈表是一種物理存儲單元上非連續(xù)、非順序的存儲結(jié)構(gòu),java代碼實(shí)現(xiàn)單鏈表,插入,刪除和遍歷等功能,這篇文章主要給大家介紹了關(guān)于Java數(shù)據(jù)結(jié)構(gòu)和算法之鏈表的相關(guān)資料,需要的朋友可以參考下2024-01-01
解決SpringBoot項(xiàng)目啟動后網(wǎng)頁顯示Please sign in的問題
這篇文章主要介紹了解決SpringBoot項(xiàng)目啟動后網(wǎng)頁顯示Please sign in的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
Java根據(jù)正整數(shù)的位數(shù)并逆序打印出各位數(shù)字
給一個(gè)不多于5位的正整數(shù),要求:一、求它是幾位數(shù),二、逆序打印出各位數(shù)字,需要的朋友可以參考下2017-02-02

