日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

感受JTable 与 JTableModel

發(fā)布時間:2024/4/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 感受JTable 与 JTableModel 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

??????????一期的畢業(yè)設(shè)計中用到了JTable控件,具體而言,是將數(shù)據(jù)庫中的內(nèi)容顯示到JTable上,再將這個JTable控件加到一個JScrollPane(能滾動的面板)上?,因為小組成員都要用到,所以我寫了一個公用的類,只要把列名(是一個String數(shù)組)以及一個SQL的查詢語句當(dāng)作參數(shù),調(diào)用這個類的jianbiao方法就能返回一個JPanel,另外還提供了返回JTable對象與DefaultTableModel對象的方法。頗為簡單,下面就是這個類。

package chongyong;

import javax.swing.JTable;
import javax.swing.JScrollPane;
import java.awt.GridLayout;
import java.sql.ResultSet;
import java.awt.Cursor;
import java.sql.SQLException;
import javax.swing.JPanel;
import javax.swing.table.DefaultTableModel;
import java.util.Vector;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.BorderLayout;

/**
?* <p>Title: </p>
?*
?* <p>只要傳入一個字符數(shù)組、一個SQL字符串就會返回以這字符串?dāng)?shù)組為列名以SQL字符串為內(nèi)容的表格 </p>
?*
?* <p>Copyright: Copyright (c) 2006</p>
?*
?* <p>Company: </p>
?*
?* @author not attributable
?* @version 1.0
?*/
public class autojianbiao extends JPanel {
??? JTable table;
??? DefaultTableModel tableModel;

??? //為了方面于大家給表格加一些屬性,所以用此方法返回本類生成的JTable對象
??? public JTable return_table() {
??????? return table;
??? }
public DefaultTableModel return_table_model(){
return tableModel;
}

??? //本類的構(gòu)造方法
??? public autojianbiao() {
??????? super();
??? }


??? public JPanel jianbiao(String[] columnNames, String sqlStr) {
??????? //表格列向量;
??????? Vector cell;

//表格行向量;
??????? Vector row = new Vector();

//聲明表格模型;
??????? tableModel = new DefaultTableModel();

//將表格頭轉(zhuǎn)換過向量類型,以備表格模型使用;
??????? Vector tableHeadName = new Vector();

??????? for (int i = 0; i < columnNames.length; i++) {
??????????? tableHeadName.add(columnNames[i]);
??????? }

//初始化表格數(shù)據(jù),這些數(shù)據(jù)實例運行來源于數(shù)據(jù)庫中;
??????? db db1 = new db();
??????? ResultSet rs = db1.select(sqlStr);

??????? try {

??????????? while (rs.next()) {

??????????????? cell = new Vector();
??????????????? for (int i = 1; i <= columnNames.length; i++) {
??????????????????? cell.add(rs.getString(i));

??????????????? }
??????????????? row.add(cell);
??????????? }
??????? } catch (SQLException ex) {
??????? }

//設(shè)置表格模型;
??????? tableModel.setDataVector(row, tableHeadName);

//表格使用模型;
??????? table = new JTable(tableModel);
//table.setRowHeight(20);

//new Cursor(1)設(shè)置鼠標(biāo)指針樣式,12為手形;
??????? table.setCursor(new Cursor(12));

//把表格加在scrollPane組件上;
??????? JScrollPane scrollPane = new JScrollPane();
??????? scrollPane.getViewport().add(table);

//設(shè)置光標(biāo)為手形;
??????? scrollPane.setCursor(new Cursor(12));

//定義面板;
??????? JPanel pan = new JPanel();
??????? pan.setLayout(new BorderLayout());
??????? pan.add(scrollPane);

//設(shè)置窗體

??????? pan.setSize(737, 160);
//把這個JPanel返回,以方便大家調(diào)用
??????? return pan;
??? }

}

?

后來的使用過程中,我總結(jié)出很多問題,拿出來和大家分享:
一、我要實現(xiàn)單擊這個表格的一行,點擊刪除按鈕,就把這行刪除。
?????? 大家應(yīng)該知道,要刪除這行,首先得取獲得點擊的這行的行號,剛開始我用的inti=
tableModel.getSelectedRow(),i 就是這個行號,但是發(fā)現(xiàn)刪除時并不能刪除選擇的行,解決方法:int i=table.getSelectedRow(),用table獲取行號就是當(dāng)前選中的行號,感覺是tableModel中還存一個副本,并不是
最新的表格樣式。

二、要實現(xiàn)根據(jù)查詢內(nèi)容,變換Jtable中的內(nèi)容
?????? 剛開始的實現(xiàn)方法是利用查詢語句,重新調(diào)用一次上面創(chuàng)建表格的類,把這個表格添加到滾動面板上,出現(xiàn)
的問題:當(dāng)滾動條移動時,表格不顯示查詢出來的內(nèi)容,而是重新顯示建JFrame時初始內(nèi)容。解決方式:不能
重新New 表格,應(yīng)該是把表格作為參數(shù)傳過來后,重新寫一篇根據(jù)RS的內(nèi)容構(gòu)造表格內(nèi)容的程序,改變當(dāng)前表格的內(nèi)容。
????? 所以在涉及到表格的操作里,當(dāng)要根據(jù)增、刪、改、查改變表格內(nèi)容的時候,不要重新New表格,要改變
JtableModel,它提供了addRow()和removeRow方法,很好用。

總結(jié)

以上是生活随笔為你收集整理的感受JTable 与 JTableModel的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 激情综合色| 久草资源福利 | 亚洲美女视频一区 | 性网爆门事件集合av | 免费福利视频网站 | 熟妇高潮喷沈阳45熟妇高潮喷 | 国产91精品久久久久久久网曝门 | 亚洲精品成人a | 日本h在线 | 日本午夜影视 | 成人午夜免费电影 | 免费久久久 | 国产一区综合 | 欧美大片在线播放 | 播五月婷婷 | 国语对白真实视频播放 | 国产视频一区二区三 | 奇米在线777 | 欧美一区二区三区粗大 | 中文字幕被公侵犯的漂亮人妻 | 精品熟妇视频一区二区三区 | 爱爱爱免费视频 | 成年人免费网站 | 国产亚洲一区二区三区四区 | 成人私密视频 | 亚洲黄色小视频 | 香蕉茄子视频 | 欧美偷拍一区二区 | 中国性xxx | 亚洲欧洲免费视频 | 日韩第1页 | 色老汉av一区二区三区 | 青青伊人久久 | 国产成人精品亚洲日本在线观看 | 91超碰在线播放 | 国产精品19乱码一区二区三区 | 欧洲一级视频 | 中文字幕婷婷 | 熟女少妇精品一区二区 | 日韩欧美国产高清 | 欧美精品一区二区性色a+v | 性色国产成人久久久精品 | 丝袜人妖 | 国产美女永久免费 | 日本丰满少妇做爰爽爽 | 91不卡视频 | 成人xxxx| 超碰66 | 国产精品久久久久久吹潮 | eeuss鲁丝片一区二区三区 | 涩涩小网站 | 国产精品suv一区二区 | 国产情侣在线视频 | 欧美国产日韩一区二区 | 日韩有码在线播放 | 99re超碰| 成人黄色电影网址 | 天天天色综合 | 久久久久亚洲国产 | 波多野结衣av无码 | 无码国内精品人妻少妇蜜桃视频 | 久久最新| 免费日本黄色网址 | 亚洲av人无码激艳猛片服务器 | 欧美猛交免费 | 亚洲一级片av| 亚洲av无码不卡一区二区三区 | 久久久精品在线观看 | 美女视频黄a视频全免费观看 | 精品3p| 波多野结衣一区二区三区在线 | 美女网站在线 | 亚洲精品女 | 最近的中文字幕在线看视频 | caoporn视频在线| 久久国产精品久久久久久电车 | 在线免费视频你懂的 | 日韩欧美在线一区二区 | 999伊人| 国产精品com | 国产成人网 | 国产欧美一区二区三区在线看 | 久久国产欧美日韩精品 | 精品人人妻人人澡人人爽牛牛 | 精品国产乱码一区二区三 | 福利一区二区 | 成年人精品视频 | 邻居少妇张开腿让我爽了在线观看 | 国产成年无码久久久久毛片 | 欧美一级片在线视频 | 中文日韩| 色呦呦免费观看 | 99精品在线播放 | 日韩一区二区三 | 国产精品久久久久久无人区 | 国模视频一区二区 | 美女试爆场恐怖电影在线观看 | 91久久久久久久 | 国产免费黄色录像 |