gpt4 book ai didi

java - 无法将包装在 JPanel 中的 JButton 添加到 JTable 中

转载 作者:行者123 更新时间:2023-11-29 03:17:27 25 4
gpt4 key购买 nike

我有一个 JTable,其中表格的最后一列用于添加 2 个按钮。以下是我的 JTable 的格式。

enter image description here

下面是我的代码

private class ViewLawyersDisplayData extends ComponentAdapter
{
@Override
public void componentShown(ComponentEvent e)
{
dbConnector = new DBHandler();
dbConnector.makeConnection();

ResultSet rs = dbConnector.selectAllLawyerDetails();

if(rs==null)
{
JOptionPane.showMessageDialog(null,"The table is empty");
}
else
{
try
{
while(rs.next())
{
int id = rs.getInt("lawyer_id");
String name = rs.getString("Name");
String address = rs.getString("Address");
String email = rs.getString("Email");
String phone = rs.getString("Phone");

JButton update = new JButton("Update");
JButton delete = new JButton("Delete");

JPanel btnPanel = new JPanel();
btnPanel.setLayout(new FlowLayout());
btnPanel.add(update);
btnPanel.add(delete);

Object[]row = {id,name,address,email,phone,btnPanel};

DefaultTableModel model = (DefaultTableModel) viewLawyersTable.getModel();
model.addRow(row);
}
}
catch(SQLException sqlE)
{
JOptionPane.showMessageDialog(null,sqlE.getLocalizedMessage());
}
}
}
}

但是我无法将按钮添加到最后一列中。它不显示按钮,而是在列中显示一些错误文本。下面是它向我显示的错误文本。

javax.swing.JPanel[,0,0,0x0,invalid,layout=java.awt.FlowLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]

我该如何解决这个问题?

最佳答案

您不能将 Swing 组件添加到表格中,因为表格不用于显示实际组件。

参见 Table Button Column对于为表格列中的按钮提供渲染器/编辑器的一种解决方案。

关于java - 无法将包装在 JPanel 中的 JButton 添加到 JTable 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25707854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com