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
相關文章:
主站蜘蛛池模板: 99国内精品久久久久久久 | 99婷婷| 91九色视频 | 国产大毛片 | 国产精品欧美一区喷水 | av在线播放国产 | 97精品国产97久久久久久免费 | 高清免费在线 | 国产精品免费av | 久久久久久亚洲欧洲 | 国产精品美女www | 欧美一区二 | 日韩激情在线 | 国产在线一区二区三区 | 日韩高清电影 | 男女羞羞的网站 | 午夜精品一区二区三区在线观看 | 毛片网络| 美女视频一区 | 精品国产乱码久久久久久久久 | 日日射夜夜骑 | 99精品在线 | 99精品亚洲国产精品久久不卡 | 亚洲美女av网站 | 欧美一区二区三区的 | 日韩精品一区二区三区在线播放 | 亚洲一区二区在线 | 国产伦一区二区三区久久 | 男女爱爱福利视频 | 日本免费一区二区三区 | 天天干在线播放 | 国产黄色网址在线观看 | 精品久久久久久 | 国产综合视频 | 韩国主播午夜大尺度福利 | 欧美一级黄色网 | 亚洲国产69 | 国产精品久久久久永久免费观看 | 黄色国产大片 | 亚洲一区中文 | 国产精品99久久久久久动医院 |