JAVA圖形界面(GUI)之表格的示例代碼
表格(JTable)是我們?cè)贕UI開發(fā)中很常用的一個(gè)組件。表格在可視化編程中用于顯示信息,在Swing編程中非常有用,當(dāng)要顯示大量數(shù)據(jù)時(shí),用表格可以清晰的顯示出來。
本篇博客將演示JTable的基本用法。
構(gòu)造方法:
方法名 | 說明 |
---|---|
JTable() | 構(gòu)造一個(gè)默認(rèn)的 JTable,使用默認(rèn)的數(shù)據(jù)模型、默認(rèn)的列模型和默認(rèn)的選擇模型對(duì)其進(jìn)行初始化 |
JTable(int numRows, int numColumns) | 使用 DefaultTableModel 構(gòu)造具有 numRows 行和 numColumns 列個(gè)空單元格的 JTable |
JTable(Object[][] rowData, Object[] columnNames) | 構(gòu)造一個(gè) JTable 來顯示二維數(shù)組 rowData 中的值,其列名稱為 columnNames |
JTable(TableModel dm) | 構(gòu)造一個(gè) JTable,使用數(shù)據(jù)模型 dm、默認(rèn)的列模型和默認(rèn)的選擇模型對(duì)其進(jìn)行初始化 |
JTable(TableModel dm, TableColumnModel cm) | 構(gòu)造一個(gè) JTable,使用數(shù)據(jù)模型 dm、列模型 cm 和默認(rèn)的選擇模型對(duì)其進(jìn)行初始化 |
JTable(TableModel dm, TableColumnModel cm, ListSelectionModel sm) | 構(gòu)造一個(gè) JTable,使用數(shù)據(jù)模型 dm、列模型 cm 和選擇模型 sm 對(duì)其進(jìn)行初始化 |
JTable(Vector rowData, Vector columnNames) | 構(gòu)造一個(gè) 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(); } /** * 獲得隨機(jī)字符串,該方法僅用于獲得隨機(jī)字符串,可以忽略 * * @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))); } }
運(yùn)行效果:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java實(shí)現(xiàn)oracle插入當(dāng)前時(shí)間的方法
這篇文章主要介紹了java實(shí)現(xiàn)oracle插入當(dāng)前時(shí)間的方法,以實(shí)例形式對(duì)比分析了java使用Oracle操作時(shí)間的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03基于springboot2集成jpa,創(chuàng)建dao的案例
這篇文章主要介紹了基于springboot2集成jpa,創(chuàng)建dao的案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01劍指Offer之Java算法習(xí)題精講二叉樹的構(gòu)造和遍歷
跟著思路走,之后從簡(jiǎn)單題入手,反復(fù)去看,做過之后可能會(huì)忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會(huì)發(fā)現(xiàn)質(zhì)的變化2022-03-03Spring整合mybatis、springMVC總結(jié)
這篇文章主要為大家詳細(xì)介紹了Java整合Mybatis,SpringMVC,文中有詳細(xì)的代碼示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2023-05-05SpringMVC之AbstractAnnotationConfigDispatcherSer解讀
這篇文章主要介紹了SpringMVC之AbstractAnnotationConfigDispatcherSer,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05動(dòng)態(tài)上傳jar包熱部署的實(shí)戰(zhàn)詳解
開發(fā)系統(tǒng)過程中遇到的一個(gè)需求,系統(tǒng)給定一個(gè)接口,用戶可以自定義開發(fā)該接口的實(shí)現(xiàn),并將實(shí)現(xiàn)打成jar包,上傳到系統(tǒng)中。系統(tǒng)完成熱部署,并切換該接口的實(shí)現(xiàn)。本文詳細(xì)介紹了實(shí)現(xiàn)方法,需要的可以參考一下2022-10-10SpringBoot集成Sharding Jdbc使用復(fù)合分片的實(shí)踐
數(shù)據(jù)庫(kù)分庫(kù)分表中間件是采用的 apache sharding。本文主要介紹了SpringBoot集成Sharding Jdbc使用復(fù)合分片的實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下2021-09-09SSH框架網(wǎng)上商城項(xiàng)目第9戰(zhàn)之添加和更新商品類別功能實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了SSH框架網(wǎng)上商城項(xiàng)目第9戰(zhàn)之添加和更新商品類別功能實(shí)現(xiàn),感興趣的小伙伴們可以參考一下2016-06-06springboot集成@DS注解實(shí)現(xiàn)數(shù)據(jù)源切換的方法示例
本文主要介紹了springboot集成@DS注解實(shí)現(xiàn)數(shù)據(jù)源切換的方法示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03