午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

Java表格JTable代碼實例解析

瀏覽:11日期: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
相關文章:
主站蜘蛛池模板: 精品久久久久久久久久久久久 | 北条麻妃一级片 | 久草在在线 | 波多野结衣一区在线 | 看免费的毛片 | 国产黄色一级片 | www.亚洲欧美 | 亚洲欧美日韩综合在线 | 欧美在线视频免费播放 | 在线免费观看一级片 | 日韩免费av在线 | 夜色成人网 | www午夜| 黄色av网站免费看 | 在线观看黄色 | 狠狠操中文字幕 | 毛片av网址 | www狠狠操| 黑人巨大精品欧美一区二区免费 | 国产精品自拍偷拍 | 久久久99国产精品免费 | 一区二区三区四区在线视频 | 黄页免费在线观看 | 亚洲精品视频专区 | www亚洲视频 | 久久国产精品久久 | 一级片免费观看 | 侵犯稚嫩小箩莉h文系列小说 | 国精产品久拍自产在线网站 | 日韩一区二区三区四区 | 日韩久久久久久久久久 | 国产成人免费在线| 国产精品久久久久久久久久久久久久久久 | 好吊妞这里有精品 | 麻豆视频国产 | 亚洲精品国产欧美在线观看 | 日本精品久久久久久 | 日本草逼视频 | 91变态视频| 黄色中文视频 | 色综合久久久久久久 |