Java 希望在JTable中的每条记录后插入空行
我已成功地从数据库中获取记录并存储在我的Java 希望在JTable中的每条记录后插入空行,java,swing,jtable,core,Java,Swing,Jtable,Core,我已成功地从数据库中获取记录并存储在我的JTable中,但不知道如何在JTable中的每条记录后添加空行? 谁能给我推荐一下吗?假设您使用的是DefaultTableModel。你应该使用某种模型。如果你有一个定制的模型,那么展示给我们 下面是一个使用DefaultTableModel try { Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection("jdb
JTable
中,但不知道如何在JTable
中的每条记录后添加空行?
谁能给我推荐一下吗?假设您使用的是DefaultTableModel
。你应该使用某种模型。如果你有一个定制的模型,那么展示给我们
下面是一个使用DefaultTableModel
try
{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost/BOA","root","");
st=con.createStatement();
String sql=("select gbal from GeneralLedger where group='Capital'");
rs=st.executeQuery(sql);
while(rs.next())
{
Vector row=new Vector();
row.add("Capital");
row.add("");
row.add("1");
row.add("Fixed Assets");
row.add("");
row.add("7");
data.add(row);
}
}
catch(Exception e)
{
System.out.println(e);
}
如果您碰巧没有使用模型的经验,请参阅
编辑您的新评论并编辑
每次添加新行时,只需添加一个emtpy
Vector
。大约有150-200行代码。您知道如何添加空行吗?您好,pri,请分享您的代码。我们可以看到您填充表格时的方法,为什么需要在结果之间留空格?我们不能添加不带按钮的行吗?我看不出为什么不。这只是一个例子。只需在每一行数据之后使用一个空行(无论您如何添加数据)。如果您想要一个更好的答案,那么我们需要了解您是如何添加数据的。用问题中的代码编辑问题只需在数据之后添加一个新的空向量。添加(行)
。我不明白问题是什么。是的,我问的问题与如何添加空行相同。我的表中有很多条目,所以每次我应该添加空向量吗?我不太理解这个问题。您1是否已经有一个已填充的表,并且要向其中添加更多行?或者,在填充表格时,是否希望在每行数据后添加一个空行?
import java.awt.BorderLayout;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class TestTable {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
String[][] data = { { "Data", "Data" } };
String[] col = { "Col", "Col" };
final DefaultTableModel model = new DefaultTableModel(data, col);
JTable table = new JTable(model);
JButton addRow = new JButton("Add Empty Row");
addRow.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
model.addRow(new Object[] {});
}
});
JPanel panel = new JPanel(new BorderLayout());
panel.add(new JScrollPane(table));
panel.add(addRow, BorderLayout.SOUTH);
JOptionPane.showMessageDialog(null, panel);
}
});
}
}