亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Java表格JTable代碼實例解析

瀏覽:2日期:2022-09-04 14:00:41

代碼如下:

import javax.swing.JTable;import javax.swing.table.AbstractTableModel;import javax.swing.JScrollPane;import javax.swing.JFrame;import javax.swing.JOptionPane;import java.awt.*;import java.awt.event.*;public class JTableDemo extends JFrame { private boolean DEBUG = true; public JTableDemo() { // 實現構造方法 super('RecorderOfWorkers'); // 首先調用父類JFrame的構造方法生成一個窗口 MyTableModel myModel = new MyTableModel();// myModel存放表格的數據 JTable table = new JTable(myModel);// 表格對象table的數據來源是myModel對象 table.setPreferredScrollableViewportSize(new Dimension(500, 70));// 表格的顯示尺寸 // 產生一個帶滾動條的面板 JScrollPane scrollPane = new JScrollPane(table); // 將帶滾動條的面板添加入窗口中 getContentPane().add(scrollPane, BorderLayout.CENTER); addWindowListener(new WindowAdapter() {// 注冊窗口監聽器 public void windowClosing(WindowEvent e) {System.exit(0); } }); } // 把要顯示在表格中的數據存入字符串數組和Object數組中 class MyTableModel extends AbstractTableModel { // 表格中第一行所要顯示的內容存放在字符串數組columnNames中 final String[] columnNames = { 'First Name', 'Position', 'Telephone','MonthlyPay', 'Married' }; // 表格中各行的內容保存在二維數組data中 final Object[][] data = {{ 'Wangdong', 'Executive', '01068790231', new Integer(5000), new Boolean(false) },{ 'LiHong', 'Secretary', '01069785321', new Integer(3500), new Boolean(true) },{ 'LiRui', 'Manager', '01065498732', new Integer(4500), new Boolean(false) },{ 'ZhaoXin', 'Safeguard', '01062796879', new Integer(2000), new Boolean(true) },{ 'ChenLei', 'Salesman', '01063541298', new Integer(4000), new Boolean(false) } }; // 下述方法是重寫AbstractTableModel中的方法,其主要用途是被JTable對象調用,以便在表格中正確的顯示出來。程序員必須根據采用的數據類型加以恰當實現。 // 獲得列的數目 public int getColumnCount() { return columnNames.length; } // 獲得行的數目 public int getRowCount() { return data.length; } // 獲得某列的名字,而目前各列的名字保存在字符串數組columnNames中 public String getColumnName(int col) { return columnNames[col]; } // 獲得某行某列的數據,而數據保存在對象數組data中 public Object getValueAt(int row, int col) { return data[row][col]; } // 判斷每個單元格的類型 public Class getColumnClass(int c) { return getValueAt(0, c).getClass(); } // 將表格聲明為可編輯的 public boolean isCellEditable(int row, int col) { if (col < 2) {return false; } else {return true; } } // 改變某個數據的值 public void setValueAt(Object value, int row, int col) { if (DEBUG) {System.out.println('Setting value at ' + row + ',' + col + ' to ' + value + ' (an instance of ' + value.getClass() + ')'); } if (data[0][col] instanceof Integer && !(value instanceof Integer)) {try { data[row][col] = new Integer(value.toString()); fireTableCellUpdated(row, col);} catch (NumberFormatException e) { JOptionPane.showMessageDialog(JTableDemo.this, 'The '' + getColumnName(col) + '' column accepts only integer values.');} } else {data[row][col] = value;fireTableCellUpdated(row, col); } if (DEBUG) {System.out.println('New value of data:');printDebugData(); } } private void printDebugData() { int numRows = getRowCount(); int numCols = getColumnCount(); for (int i = 0; i < numRows; i++) {System.out.print(' row ' + i + ':');for (int j = 0; j < numCols; j++) { System.out.print(' ' + data[i][j]);}System.out.println(); } System.out.println('--------------------------'); } } public static void main(String[] args) { JTableDemo frame = new JTableDemo(); frame.pack(); frame.setVisible(true); }}

代碼運行效果截圖:

Java表格JTable代碼實例解析

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 久久在线视频免费观看 | 精品一区二区影院在线 | 日日综合 | 高清一区二区亚洲欧美日韩 | 一区二区三区福利视频 | 99久久精彩视频 | 中国明星一级毛片免费 | 丁香亚洲 | 一级黄色录像播放 | a级毛片免费全部播放 | 青青草国产精品人人爱99 | 欧美黄一片 | 免费黄色在线观看 | 黄色片xxxx | 国产一区二区三区免费看 | 久久爰www免费人成 久久狠狠干 | 欧美真人毛片动作视频 | 欧美视频网站免费看 | 国产精品一卡二卡三卡 | 免费高清成人啪啪网站 | 国产黄色免费在线观看 | 国产精品欧美亚洲区 | 精品欧美一区二区在线观看欧美熟 | 中文字幕在线播放第一页 | 欧美日韩国产在线成人网 | 成人免费观看在线网址 | 精品日本亚洲一区二区三区 | 49pao强力免费打造在线高清 | 日韩 国产 欧美视频一区二区三区 | 国产精品偷伦视频免费观看的 | 高清成年美女xx免费网站黄 | 嫩草视频在线观看 | 国产99在线a视频 | 国产精品久久久久国产精品三级 | 免费在线色视频 | 国产好大好爽久久久久久久 | 国产毛片在线视频 | 一区二区在线视频 | 国产精品分类视频分类一区 | 中文字幕日本一区久久 | 国产真实自拍 |