久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

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

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
相關文章:
主站蜘蛛池模板: 成人免费视频网站在线观看 | 国产精品高清一区二区 | 久久久精彩视频 | 黄色免费视频 | 中文字幕 亚洲一区 | 亚洲一区中文 | 国产精品久久综合 | 日韩一区二区三区在线播放 | 夜夜av | 亚洲国产一区二区三区, | 依人成人综合网 | 亚洲久久 | 一区视频在线 | 欧美日韩国产免费一区二区三区 | 91视频入口 | 男女全黄一级一级高潮免费看 | 伊人网站 | 欧美福利一区二区三区 | 久久久久无码国产精品一区 | 国产精品久久久久久久久久99 | 中文字幕成人 | 热久久这里只有精品 | 天天干天天插 | 伊人超碰| 日韩福利 | 久久综合九色综合欧美狠狠 | 国产91精品一区二区绿帽 | 精品无人乱码一区二区三区的优势 | 日日夜夜爽 | 伊人激情四射 | 欧美精品日韩 | 久久se精品一区精品二区 | 欧美日韩亚洲在线 | 欧美久久久久久 | 国产91成人在在线播放 | 国产精品久久久久久久久久久久久 | 亚洲国产精久久久久久久 | 姐姐在线观看动漫第二集免费 | japan国产精选videos | 久久久久久久成人 | 国产精品久久久久久吹潮 |