我想知道是否可以使用我的数据库中的数据将JTable中的一些行灰化或呈现为不可见?
以下是我的JTable中的列:
public DutyModel(ArrayList<Duty> listOfObjects) {
rowCount = listOfObjects.size();
colCount = columnNames.length;
data = new Object[rowCount][colCount];
for (int i = 0; i < rowCount; i++) {
/* Copy an ArrayList element to an instance of MyObject */
Duty d1 = (Duty) (listOfObjects.get(i));
data[i][0] = d1.getDutyId();
data[i][1] = d1.getDutyName();
data[i][2] = d1.getDutyDesc();
data[i][3] = d1.getDutySectorName();
data[i][4] = d1.getDutyStatus();
}
}
显示“我的表格”时,我希望行带有d1。getDutyStatus(),其中dutyStatus=“Inactive”将灰显。我的表格当前可以更新为“活动”(按更新按钮)或“非活动”(按删除按钮)。我不希望用户能够编辑dutyStatus为“Inactive”的任何职责。非常感谢您的任何帮助。谢谢
下面的代码是当用户选择JTable中的一行并按下“Update”和“Delete”按钮时发生的情况。另外,我尝试使用一个三层架构来运行我的代码,我的控制器类是RetrieveDutyControl,实体是Duty。
public void actionPerformed(ActionEvent e) {
int rowSelected = tblDutyList.getSelectedRow();
if (rowSelected >= 0) {
String idDuty = tblDutyList.getValueAt(rowSelected, 0)
.toString();
String name = tblDutyList.getValueAt(rowSelected, 1)
.toString();
String desc = tblDutyList.getValueAt(rowSelected, 2)
.toString();
String sector = tblDutyList.getValueAt(rowSelected, 3)
.toString();
String status = tblDutyList.getValueAt(rowSelected, 4)
.toString();
Duty duty = new Duty(Integer.parseInt(idDuty), name, desc,
sector, status);
RetrieveDutyControl rdc = new RetrieveDutyControl();
ArrayList<Duty> dutyList = rdc.processRetrieveDuties(duty);
JPanel contentPane = new RemoveDutyForm(myFrame, duty);
myFrame.getContentPane().removeAll();
myFrame.setContentPane(contentPane);
myFrame.setVisible(true);
} else {
JOptionPane.showMessageDialog(null, "No Record Selected",
"Alert", JOptionPane.ERROR_MESSAGE);
}
尝试使用重写的prepareRenderer()
方法根据数据灰显行
示例代码:(使用第一列的值进行验证)
Object[] columnNames = { "A", "B", "C", "D" };
Object[][] data = {
{ "abc", new Double(850.503), 53, true },
{ "lmn", new Double(36.23254), 6, false },
{ "pqr", new Double(8.3), 7, false },
{ "xyz", new Double(246.0943), 23, true } };
JTable table = new JTable(data, columnNames) {
@Override
public java.awt.Component prepareRenderer(TableCellRenderer renderer, int row, int col) {
java.awt.Component comp = super.prepareRenderer(renderer, row, col);
Object value = getModel().getValueAt(row, 0);
if (value.equals("lmn")) {
comp.setBackground(Color.lightGray);
} else {
comp.setBackground(Color.white);
}
return comp;
}
};
对于按钮,检查值,什么也不做。
如何获取所选行的值?
if(table.getSelectedRow()!=-1){
int rowIndex=table.getSelectedRow();
Object value=table.getModel().getValueAt(rowIndex, 0);
if(value.equals("lmn")){
//do nothing
}else{
// perform desired operation
}
}
问题内容: 我正在尝试使用我的Derby数据库数据填充Netbeans GUI-builder jTable。 我在Account.java类中使用以下代码: 理想情况下,我希望能够返回其中包含参数数据和列的tableModel,因为我知道在GUI中执行此方法是一种不好的做法。在线上的所有教程都没有显示如何将数据发送到另一个类,它们只是在GUI类中执行数据库代码。 我有一个错误,它看不到数据和列,
我在Account.java类中使用以下代码: 理想情况下,我希望能够返回包含参数数据和列的tableModel,因为我知道在我的GUI中使用这种方法是不好的做法。所有在线教程都没有显示如何将数据发送到另一个类,它们只是在GUI类中执行数据库代码。 我有一个错误,它无法看到数据和列,因为它们是在我的方法的一个不可访问的部分中声明和使用的。在我完成这些之后,我需要找到一种方法来将它传递给我的GUI类
问题内容: 我正在使用jdbc编写程序,该程序将成为数据库的接口(类似于CRUD应用程序)。我假设我必须编写一个类(例如),该类将对数据库执行所有操作(以及可能会简化为这些操作的某些其他逻辑)。用户界面由一组表和一些按钮组成。要使用Jtable,我需要实现一个类(例如),它是AbstractTableModel的子类。因此,此类将向用户显示我的数据。我需要为数据库架构中的所有表实现这种模型。我不想
我还是MySQL的新手,甚至比MySQLI更新。我试图用MySQLI更新我的网站,但我似乎无法解决最后一个问题。 我的网站是一个单页网站,页面上有50个类别。每个类别都有一个类别标题。我在数据库中有一个表,其中包含所有50个类别的标题和id。我使用MySQL/PHP在每个类别的顶部显示每个类别的标题,具体选择行和列。这是我的代码... 查询: 回声声明: 这允许我选择要显示的行和列。 我如何在My
我在NetBeans IDE中工作,语言是Java,主要的类是JFrame Form。 我需要从Jtable获取所有数据并用这些数据填充数组。数组代表矩阵。 代码如下 我有一个错误 线程“AWT-EventQueue-0”java.lang.ClassCastException:java.lang.String无法转换为java.lang.Double 所以将表中的元素设置为双精度不是那么容易吗?
我正在开发一个社交网络应用程序,用户可以关注其他用户,喜欢他们的帖子、评论。。。当某个用户跟踪某人时,它会在另一个用户帐户的通知片段中显示,通知他有一个新的跟踪者。问题是,当用户点击unfollow时,我无法删除通知。以下是我尝试过的: 下面是我添加通知的方式: 我的代码的问题是,每当用户取消关注某人时,该用户的所有通知都会被删除,包括他的喜欢和评论。我想要的是删除“开始关注你”。以下是它在Fir