JAVA圖形界面(GUI)之表格的示例代碼
表格(JTable)是我們在GUI開發(fā)中很常用的一個組件。表格在可視化編程中用于顯示信息,在Swing編程中非常有用,當(dāng)要顯示大量數(shù)據(jù)時,用表格可以清晰的顯示出來。
本篇博客將演示JTable的基本用法。
構(gòu)造方法:
| 方法名 | 說明 |
|---|---|
| JTable() | 構(gòu)造一個默認(rèn)的 JTable,使用默認(rèn)的數(shù)據(jù)模型、默認(rèn)的列模型和默認(rèn)的選擇模型對其進行初始化 |
| JTable(int numRows, int numColumns) | 使用 DefaultTableModel 構(gòu)造具有 numRows 行和 numColumns 列個空單元格的 JTable |
| JTable(Object[][] rowData, Object[] columnNames) | 構(gòu)造一個 JTable 來顯示二維數(shù)組 rowData 中的值,其列名稱為 columnNames |
| JTable(TableModel dm) | 構(gòu)造一個 JTable,使用數(shù)據(jù)模型 dm、默認(rèn)的列模型和默認(rèn)的選擇模型對其進行初始化 |
| JTable(TableModel dm, TableColumnModel cm) | 構(gòu)造一個 JTable,使用數(shù)據(jù)模型 dm、列模型 cm 和默認(rèn)的選擇模型對其進行初始化 |
| JTable(TableModel dm, TableColumnModel cm, ListSelectionModel sm) | 構(gòu)造一個 JTable,使用數(shù)據(jù)模型 dm、列模型 cm 和選擇模型 sm 對其進行初始化 |
| JTable(Vector rowData, Vector columnNames) | 構(gòu)造一個 JTable 來顯示 Vector 所組成的 Vector rowData 中的值,其列名稱為 columnNames |
使用示例:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.MessageFormat;
import java.util.Random;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
/**
* 表格示例
*
* @author jianggujin
*
*/
public class TableDemo extends JFrame
{
// 默認(rèn)表格模型
private DefaultTableModel model = null;
private JTable table = null;
private JButton addBtn = null;
public TableDemo()
{
super("TableDemo");
String[][] datas = {};
String[] titles = { "列一", "列二" };
model = new DefaultTableModel(datas, titles);
table = new JTable(model);
addBtn = new JButton("添加數(shù)據(jù)");
addBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e)
{
model.addRow(new String[] { getRandomData(), getRandomData() });
}
});
add(addBtn, BorderLayout.NORTH);
add(new JScrollPane(table));
setSize(400, 300);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args)
{
new TableDemo();
}
/**
* 獲得隨機字符串,該方法僅用于獲得隨機字符串,可以忽略
*
* @return
*/
private String getRandomData()
{
String source = "0123456789abcdefghijklmnopqrstuvwxyz";
int len = source.length();
Random random = new Random(System.currentTimeMillis());
return MessageFormat.format("{0}{0}{0}", source.charAt(random.nextInt(len)));
}
}
運行效果:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java實現(xiàn)oracle插入當(dāng)前時間的方法
這篇文章主要介紹了java實現(xiàn)oracle插入當(dāng)前時間的方法,以實例形式對比分析了java使用Oracle操作時間的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03
基于springboot2集成jpa,創(chuàng)建dao的案例
這篇文章主要介紹了基于springboot2集成jpa,創(chuàng)建dao的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
劍指Offer之Java算法習(xí)題精講二叉樹的構(gòu)造和遍歷
跟著思路走,之后從簡單題入手,反復(fù)去看,做過之后可能會忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會發(fā)現(xiàn)質(zhì)的變化2022-03-03
Spring整合mybatis、springMVC總結(jié)
這篇文章主要為大家詳細(xì)介紹了Java整合Mybatis,SpringMVC,文中有詳細(xì)的代碼示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下2023-05-05
SpringMVC之AbstractAnnotationConfigDispatcherSer解讀
這篇文章主要介紹了SpringMVC之AbstractAnnotationConfigDispatcherSer,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05
SpringBoot集成Sharding Jdbc使用復(fù)合分片的實踐
數(shù)據(jù)庫分庫分表中間件是采用的 apache sharding。本文主要介紹了SpringBoot集成Sharding Jdbc使用復(fù)合分片的實踐,具有一定的參考價值,感興趣的可以了解一下2021-09-09
SSH框架網(wǎng)上商城項目第9戰(zhàn)之添加和更新商品類別功能實現(xiàn)
這篇文章主要為大家詳細(xì)介紹了SSH框架網(wǎng)上商城項目第9戰(zhàn)之添加和更新商品類別功能實現(xiàn),感興趣的小伙伴們可以參考一下2016-06-06
springboot集成@DS注解實現(xiàn)數(shù)據(jù)源切換的方法示例
本文主要介紹了springboot集成@DS注解實現(xiàn)數(shù)據(jù)源切換的方法示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03

