我正在尝试制作一个显示用户列表的jtable.该表应允许用户选择整行但不允许编辑单元格.
到目前为止我有这个,它阻止他们编辑单元格,但如何让他们选择行而不是单元格?
DefaultTableModel userTableModel = new DefaultTableModel(new Object[]{"Customer ID", "First Name", "Last Name"}, 0) {
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
Run Code Online (Sandbox Code Playgroud)
这表明我填写表:
public void refreshCustomersList() throws SQLException, ClassNotFoundException {
UserBeanList userList = dbConnector.getUserData();
for (int i = 0; i < userList.size(); i++) {
UserBean userBean = userList.getUserBeanAt(i);
String[] data = new String[3];
data[0] = userBean.getCustomerID();
data[1] = userBean.getFirstName();
data[2] = userBean.getLastName();
userTableModel.addRow(data);
}
tableCustomers.setModel(userTableModel);
}
Run Code Online (Sandbox Code Playgroud)
正如我所说,我已禁用单元格编辑,但我如何只允许行选择.
我看过其他人的帖子说我应该放这个,但我不确定是不是.
selectionTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
Run Code Online (Sandbox Code Playgroud)
任何帮助都会很棒.
你试过setRowSelectionAllowed(true)JTable实例了吗?
我建议尝试查看javadocs http://docs.oracle.com/javase/6/docs/api/javax/swing/JTable.html#setRowSelectionAllowed(boolean)
并阅读从javadocs链接的教程:http://docs.oracle.com/javase/tutorial/uiswing/components/table.html
他们非常彻底:)