如何动态的增加和删除表格??急求!!! 我用的数据库是sql server,想将数据库表中的信息显示出来到一个表格中,表格动态的根据数据库表的长度生成,在点击了“增加”按钮后能新增一空行,填写新的内容保存后返回数据库。若选中某一行,点击“删除”按钮能直接从数据库中删除这一行的所有信息。不知道这个问题该如何实现,希望高手指点!急求解答,非常感谢!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import javax.swing.*;import javax.swing.table.*;import java.awt.event.*;import java.awt.*;public class TableTest{ public static void main(String[] args) { MyFrame frame = new MyFrame("Table Test"); frame.setVisible(true); }}class MyFrame extends JFrame implements ActionListener{ MyTableModel model = new MyTableModel(); JButton addButton = new JButton("Add"); JButton deleteButton = new JButton("Delete"); private static final int WIDTH = 800; private static final int HEIGHT = 600; MyFrame(String title) { super(title); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JFrame.setDefaultLookAndFeelDecorated(true); JPanel p = new JPanel(); p.add(addButton); p.add(deleteButton); addButton.addActionListener(this); deleteButton.addActionListener(this); getContentPane().add(new JScrollPane(new JTable(model)), BorderLayout.CENTER); getContentPane().add(p, BorderLayout.WEST); setExtendedState(MAXIMIZED_BOTH); } public void actionPerformed(ActionEvent e) { if(e.getSource().equals(addButton)) { model.addRow(); } else if(e.getSource().equals(deleteButton)) { model.deleteRow(); } } }class MyTableModel extends AbstractTableModel{ static int pos=1; int row = 10; public Object getValueAt(int row, int column) { if (row >10){ return "sdfsdf"; } else { return "ooo"; } } public int getRowCount() { return row; } public int getColumnCount() { return 5; } void addRow() { row += 1; fireTableDataChanged(); } void deleteRow() { row -= 1; fireTableDataChanged(); } public String getColumnName(int column) { return "" + pos++; }} 先写select语句,用查到的数据生成table。再写insert和delete,成功则返回boolean true,if(insert()){这里调用楼上//john_sheep(彩虹勇士(写点啥好呢?)) 写的insert into tableModel; }if(delete()){delete from tableModel;} 楼主可以参考jdk自带的例子jdk1.6.0\demo\jfc\TableExample 关于使用JTable显示与更新数据的问题,我有非常完整的解决方案。效果同PowerBuilder的数据窗口。楼主的此类相关问题都不复存在。支持JAVA,独立程序员可免费赠送:[email protected] ,来信即可。 幸福ing,捡到100块,散分,你们有捡过钱嘛? 请教数组如何传值(pass by value)? 请教按列进行存储,按行调用的table的实现方法? 你们的j2me编程的文本编辑器一般是选什么 如何在java中将菜单栏放到标题栏 用JTextArea 如何实现剪切,复制,拷贝功能?????? 100分求java文档管理软件 接口 weblogic的JNDI怎么不起作用? 最新消息:微软在 Windows XP 和 ie6 中将不再支持java,java还有前途吗?!! 一个基础问题大家帮忙 大侠们,帮忙解决关于JNI问题(急)
import javax.swing.table.*;
import java.awt.event.*;
import java.awt.*;public class TableTest
{
public static void main(String[] args)
{
MyFrame frame = new MyFrame("Table Test");
frame.setVisible(true);
}
}class MyFrame extends JFrame implements ActionListener
{
MyTableModel model = new MyTableModel();
JButton addButton = new JButton("Add");
JButton deleteButton = new JButton("Delete");
private static final int WIDTH = 800;
private static final int HEIGHT = 600; MyFrame(String title)
{
super(title);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JFrame.setDefaultLookAndFeelDecorated(true);
JPanel p = new JPanel();
p.add(addButton);
p.add(deleteButton); addButton.addActionListener(this);
deleteButton.addActionListener(this); getContentPane().add(new JScrollPane(new JTable(model)), BorderLayout.CENTER);
getContentPane().add(p, BorderLayout.WEST);
setExtendedState(MAXIMIZED_BOTH);
} public void actionPerformed(ActionEvent e)
{
if(e.getSource().equals(addButton))
{
model.addRow();
}
else if(e.getSource().equals(deleteButton))
{
model.deleteRow();
}
}
}
class MyTableModel extends AbstractTableModel
{
static int pos=1;
int row = 10;
public Object getValueAt(int row, int column)
{
if (row >10){
return "sdfsdf";
}
else {
return "ooo";
}
} public int getRowCount()
{
return row;
} public int getColumnCount()
{
return 5;
}
void addRow()
{
row += 1;
fireTableDataChanged();
}
void deleteRow()
{
row -= 1;
fireTableDataChanged();
}
public String getColumnName(int column)
{
return "" + pos++;
}
}
if(insert()){
这里调用楼上//john_sheep(彩虹勇士(写点啥好呢?)) 写的insert into tableModel;
}
if(delete()){
delete from tableModel;
}
jdk1.6.0\demo\jfc\TableExample