import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;
import java.util.*;
public class JTableDemo7 implements ActionListener{
JTable table = null;
DefaultTableModel defaultModel = null;
JButton button1,button2,button3,button4;
int count = 1;
public JTableDemo7(){
JFrame jf = new JFrame();
String[] name = {"1","2","3"};
String[][] data = new String[3][3];
int value = 1;
for(int i=0;i<data.length;i++){
for(int j=0;j<data[i].length;j++){
data[i][j] = String.valueOf(value++);
}
}
defaultModel = new DefaultTableModel(data,name);
table = new JTable(defaultModel);
table.setPreferredScrollableViewportSize(new Dimension(300,400));
JScrollPane scrollPane = new JScrollPane(table);
JPanel panel = new JPanel();
button1 = new JButton("add new column");
panel.add(button1);
button1.addActionListener(this);
button2 = new JButton("add new row");
panel.add(button2);
button2.addActionListener(this);
panel.add(button2);
button3 = new JButton("delete row");
button3.addActionListener(this);
panel.add(button3);
button4 = new JButton("delete column");
button4.addActionListener(this);
panel.add(button4);
Container contentPane = jf.getContentPane();
contentPane.add(panel,BorderLayout.NORTH);
contentPane.add(scrollPane,BorderLayout.CENTER);
jf.pack();
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String...args){
new JTableDemo7();
}
@Override
public void actionPerformed(ActionEvent e){
if(e.getSource()==button1){//增加列
defaultModel.addColumn("NewColumn"+count++);
}
if(e.getSource()==button2){//增加行
defaultModel.addRow(new Vector());
}
if(e.getSource()==button4){//刪除列
int columnCount = defaultModel.getColumnCount()-1;
if(columnCount>=0){
TableColumnModel columnModel = table.getColumnModel();
TableColumn tableColumn = columnModel.getColumn(columnCount);
columnModel.removeColumn(tableColumn);
defaultModel.setColumnCount(columnCount);
}
}
if(e.getSource()==button3){//刪除行
int rowCount = defaultModel.getRowCount()-1;
if(rowCount>=0){
defaultModel.removeRow(rowCount);
defaultModel.setRowCount(rowCount);
}
}
table.revalidate();
}
}
分享到:
相关推荐
实现jtable增删改查,数据库mysql自己看源码配置一下或者直接改源码,纯jdbc写的
这个是个小案例,里面包含了jtable的增删改查以及连接了sqlserver2008,显示的数据进行了分页,以及对数据库的操作都进行了log4j的日志记录
//JTable jTable1 = new JTable(); public JTable jTable1=null; private JTree jTree1; DefaultTableModel mode; private JScrollPane scrollPane = null; DefaultMutableTreeNode node; JButton[] btn={...
JTable增加删除按钮实例,用于java开发
JTable数据库基本操作多行增删改查,介绍详细,源代码齐全
前段时间无聊研究一下java swing 的JTable表格 做了一下在表格内实现的增删盖查,数据库用的是mysql8.0
将Excel内容按照行列复制到JTable中,JTable的行列的增删
封装JTable同时锁定多行多列效果,通过多层布局实现,不需要多个数据集,使用简单,不用对现有代码做改动。
JTable 在一个单元格放入多个按钮,
JTable使用 JTable使用JTable使用JTable使用
JTable的显示效果
介绍了jtable中加入复选的难点的俩个例子,方便大家更好的学习.
实现jTable和jTree的双向联动,点击jTree会选中jTable单元格,点击jTable会选中jTree节点。
与SQL可视化增,删,改 建立表格: : public JTable table; public DefaultTableModel dftm; public String[] columnNames = new String[] { "序号", "用户名", "密码" }; // 定义数组表示表格标题
JTable的使用收藏 1.JTable与TableModel 1.TableModel与JTable的关系 2.TableModel实践 3.使用JTable+TableModel展示java中的数据对象 2.JTable展示方式的美化 1.设置表格的宽度和高度 2.要显示表头 3.新加列,将...
JTable动态刷新数据JTable动态刷新数据JTable动态刷新数据JTable动态刷新数据
内容不再仅仅是JTable表格有关的知识,还有有关jdbc连接数据库,把数据库中的信息显示在表格中,并且可以做到,在eclipse中运行得到窗口显示信息,可以增删该除,修改后的数据库信息 可以在数据库中表里得到体现,...
使用java Swing手写Jtable增删改查 怀旧版,涉及到简单布局(BorderLayout、Flowlayout)、Dialog、Jframe、Jpanel等
Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性
swing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing ...