亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

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

Java表格JTable代碼實例解析

瀏覽:5日期: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
相關文章:
主站蜘蛛池模板: 各种偷拍盗摄视频在线观看 | 一级做a爱过程免费视频时看 | 色网址在线观看 | 色涩五月天 | 国产免费久久精品 | 自拍偷拍亚洲区 | 自怕偷自怕亚洲精品 | 三级黄色a | 亚洲精品国自产拍影院 | 午夜免费理论片a级 | 国产成人亚洲综合 | 国产成人综合久久亚洲精品 | 免费一级做a爰片性色毛片 免费一极毛片 | 国产精品国产三级国产专 | 国产91精选在线观看网站 | 国产永久精品 | 日韩一区二区在线播放 | 大桥未久在线精品视频在线 | 亚洲欧美日韩久久精品第一区 | 欧美日韩另类综合 | 欧美久色 | 久久久久久久久久久大尺度免费视频 | 日韩一区二区天海翼 | 免费一区二区三区四区 | 成人欧美一区在线视频在线观看 | 国产成人精品日本亚洲网站 | 韩国主播19福利视频在线 | 又摸又揉又黄又爽的视频 | 99国内视频 | 99视频有精品 | 欧美午夜网站 | 女人张开双腿让男人桶爽免 | 精品日韩欧美一区二区三区在线播放 | 亚洲国产精品综合久久久 | 亚洲免费视频网站 | 欧美在线一级视频 | 国产中的精品一区的 | 天天都色| 国产一级大片在线观看 | 日韩18在线观看 | 久久凹凸 |