0
我想在表中添加JButton。我正在使用表來顯示數據庫記錄。其實我想爲表格中的每條記錄添加按鈕,但是,按鈕不會顯示在表格中。它不顯示任何錯誤。請幫忙。提前致謝。將組件添加到JTable中
package addPanel;
import java.sql.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class panelShowData extends JPanel
{
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
String url = "jdbc:mysql://localhost:3306/records";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "";
JScrollPane scrollPane;
JTable table;
DefaultTableModel tableModel;
String nameSearch="";
public panelShowData()
{
this.setLayout(null);
setVisible(true);
setBounds(0, 200, 500, 450);
}
public void searchData(String nameSearch)
{
tableModel = new DefaultTableModel();
try
{
Class.forName(driver).newInstance();
connection = DriverManager.getConnection(url, userName, password);
statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
resultSet = statement.executeQuery("select * from registration where firstname='"
+ nameSearch
+ "'or lastname ='"
+ nameSearch + "'");
System.out.println("Query executed");
System.out.println("nameSearch="+nameSearch);
String firstName;
String lastName;
int id;
JButton add=new JButton("ADD");
while (resultSet.next())
{
System.out.print(resultSet.getString(2) + "\t");
System.out.print(resultSet.getString(4) + "\n");
firstName = resultSet.getString(2);
lastName = resultSet.getString(4);
id = resultSet.getInt(1);
String[ ] columnName = { "Id","First Name", "Last Name","click" };
Object[ ] data = { id, ""+firstName, "" + lastName, add };
System.out.println("Names is:"+firstName);
tableModel.setColumnIdentifiers(columnName);
tableModel.addRow(data);
tableModel.fireTableDataChanged();
}
table = new JTable(tableModel);
table.setEnabled(false);
scrollPane = new JScrollPane(table);
scrollPane.setBounds(10, 10, 350, 100);
scrollPane.revalidate();
scrollPane.repaint();
add(scrollPane);
connection.close();
}
catch (Exception e)
{
e.printStackTrace();
JOptionPane.showMessageDialog( null, "Record Not Found",
"Sorry", JOptionPane.ERROR_MESSAGE);
}
}
}