==
-
--
---通用的表格设计,弄了我一整天,应该可以满足一般用途了.
1,自己定义表格模型,让boolean值变checkbox
2,有些信息隐藏起来,比如电话号码等,但是可以拿到用.
3,设置事件,这个做的不太好,只可以通过鼠标,
4,这里的一个TO我没有写,补一下
---------------
public class BeautyTo {
private String name;
private String age;
private boolean Beauty;
private String telNum;
GET SET 方法自己弄.JAVABEAN而已.
---------------
5.附件是几张练习体会的图片,可以看看
===
package downtimemodule;
import java.util.ArrayList;
import java.util.UUID;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
public class HbTT2 extends javax.swing.JFrame {
/** Creates new form HbTT2 */
public HbTT2() {
initComponents();
makeTable();
this.setLocationRelativeTo(null);
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
},
new String [] {
}
));
jTable1.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jTable1MouseClicked(evt);
}
});
jScrollPane1.setViewportView(jTable1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 546, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 526, Short.MAX_VALUE)
.addContainerGap()))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 140, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(35, Short.MAX_VALUE)))
);
pack();
}// </editor-fold>
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
int i = jTable1.getSelectedRow();
JOptionPane.showMessageDialog(null, "u select row's index is: [" + i + "]");
Object o = jTable1.getValueAt(i, 2);
JOptionPane.showMessageDialog(null, "the check box status is: [" + o + "]");
Object o2 = jTable1.getValueAt(i, 3);
JOptionPane.showMessageDialog(null, "the hidden serise no is: [" + o2 + "]");
}
private void makeTable() {
// initial some data
ArrayList<BeautyTo> arrays = new ArrayList<BeautyTo>();
BeautyTo beautyTo = null;
for (int i = 0; i < 7; i++) {
beautyTo = new BeautyTo();
beautyTo.setAge(i * 5 + "");
beautyTo.setName("avbb" + i);
beautyTo.setBeauty(i % 2 == 0 ? true : false);
beautyTo.setTelNum(UUID.randomUUID().toString());
arrays.add(beautyTo);
}
// make table
String[] columns = {"NAME", "AGE", "IS_BEAUTIFUL", "TEL"};
Object[][] data = new Object[arrays.size()][columns.length];
for (int j = 0; j < arrays.size(); j++) {
data[j][0] = arrays.get(j).getName();
data[j][1] = arrays.get(j).getAge();
data[j][2] = arrays.get(j).isBeauty();
data[j][3] = arrays.get(j).getTelNum();
}
//this is very important
DefaultTableModel defaultTableModel = new MyDefaultTableModel(data, columns);
jTable1.setModel(defaultTableModel);
hideColumn(jTable1, 3);
//jScrollPane1.setViewport(jTable1); already set in the gen code
}
private void hideColumn(JTable jtable, int columnIndex) {
TableColumn tc = jtable.getColumnModel().getColumn(columnIndex);
tc.setWidth(0);
tc.setMinWidth(0);
tc.setMaxWidth(0);
tc.setPreferredWidth(0);
jtable.getTableHeader().getColumnModel().getColumn(columnIndex).setMaxWidth(0);
jtable.getTableHeader().getColumnModel().getColumn(columnIndex).setMinWidth(0);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new HbTT2().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
// End of variables declaration
}
class MyDefaultTableModel extends DefaultTableModel {
public MyDefaultTableModel(Object[][] data, Object[] columnNames) {
super(data, columnNames);
}
Class[] types = new Class[]{
String.class, String.class, Boolean.class, String.class
};
@Override
public Class getColumnClass(int columnIndex) {
return types[columnIndex];
}
@Override
public boolean isCellEditable(int row, int column) {
if (column == 2) {
return true;
}
return false;
}
}
分享到:
相关推荐
Kotti 是一个基于 Pyramid 框架的 Python 内容管理系统(CMS),适合用来搭建中小型网站、文档库、企业展示平台、知识库等需要灵活内容结构和权限模型的项目。它本身更像一个可以二次开发的 CMS 框架,比 WordPress、Drupal 这类“一装就用”的系统更倾向于开发者定制和扩展。 这是支持pyramid2.x版本的kotti! tar -xzvf kotti1.0.tar.gz 解压缩 进入目录执行 pip install -e . 来安装, 然后执行pserve app.ini 启动。 用浏览器浏览127.0.0.1:5000 即可浏览。 用户名admin ,口令qwerty
cmd-bat-批处理-脚本-hello world.zip
知识付费系统自动采集V3.0 跳转不卡顿+搭建教程,不和外面的一样跳转卡顿,这个跳转不卡顿,支持三级分销。
在Matlab环境下,对图像进行特征提取时,主要涵盖形状、纹理以及颜色这三大关键特征。其中,对于纹理特征的提取,采用灰度梯度共生矩阵这一方法来实现。通过灰度梯度共生矩阵,可以有效地捕捉图像中像素灰度值之间在不同方向和距离上的相互关系,进而量化地反映出图像的纹理特性,为后续的图像分析、分类等任务提供重要的纹理信息依据。
该数据集为2010-2023年中国A股上市公司管理层情感语调的年度面板数据,覆盖45,320条样本,数据源自年报及半年报的"管理层讨论与分析"部分。通过构建中文金融情感词典(融合《知网情感分析用词典》与L&M金融词汇表),采用文本分析方法计算情感语调指标,包括:正面/负面词汇数量、文本相似度、情感语调1((积极词-消极词)/总词数)和情感语调2((积极词-消极词)/(积极词+消极词))。同时包含盈利预测偏差、审计意见类型等衍生指标,可用于研究信息披露质量、市场反应及代理问题。该数据复刻了《管理世界》《财经研究》等期刊的变量构建方法,被应用于分析语调操纵对债券市场的影响,学术常用度与稀缺度较高。
cmd-bat-批处理-脚本-FTIME.zip
1747829038637.png
2025年自动化X光检查机项目大数据研究报告.docx
在计算机组成原理课程设计中,我全程跟随老师的指导,独立完成了以下两项任务:一是利用Logisim软件进行原码一位乘法器的仿真设计,通过逐步搭建电路、配置逻辑单元,实现了原码乘法运算的完整流程,深入理解了原码乘法的原理和实现机制;二是完成了补码一位乘法器的Logisim仿真,同样按照老师讲解的步骤,精心设计电路,确保补码乘法运算的正确性,进一步掌握了补码乘法的运算规则和电路实现方法。通过这两个项目,我不仅巩固了理论知识,还提升了动手实践能力和逻辑思维能力。
cmd-bat-批处理-脚本-msvc2017.zip
cmd-bat-批处理-脚本-virtualcam-install.zip
二十四节气之立秋介绍.pptx
cmd-bat-批处理-脚本-shift.zip
二十四节气之小雪介绍.pptx
java、SpringBoot面试专题,6页面试题
cmd-bat-批处理-脚本-GenerateUnionWinMD.zip
二十四节气之大暑节气.pptx
python实现五子棋游戏源码
cmd-bat-批处理-脚本-TransparentConsole.zip