相关疑难解决方法(0)

如何将JTable单元格输入标记为无效?

如果我采用a JTable并在其模型上指定列的classtype,如下所示:

   DefaultTableModel model = new DefaultTableModel(columnNames, 100) {
       @Override
        public Class<?> getColumnClass(int columnIndex) {
            return Integer.class;
        }};
Run Code Online (Sandbox Code Playgroud)

然后,只要用户尝试double在表中输入值,Swing就会自动拒绝输入并将单元格的轮廓设置为红色.

当某人输入单元格的"负数或0"输入时,我希望发生相同的效果.我有这个:

    @Override
    public void setValueAt(Object val, int rowIndex, int columnIndex) {
       if (val instanceof Number && ((Number) val).doubleValue() > 0) {
              super.setValueAt(val, rowIndex, columnIndex);
            } 
       }
   }
Run Code Online (Sandbox Code Playgroud)

这可以防止单元格接受任何非正值,但不会将颜色设置为红色并使单元格保持可编辑状态.

我试着调查JTable默认情况下是如何做出拒绝的,但我似乎无法找到它.

如何拒绝非正输入与拒绝非整数输入相同?

谢谢

java validation swing jtable tablecelleditor

11
推荐指数
1
解决办法
1万
查看次数

JTable禁用单元格中的Checkbox

你好,我有一个JTable我想灰色所有禁用的复选框单元格我尝试使用自定义渲染器检查isEnabled(),然后更改背景颜色,但仍然没有工作.有什么建议?谢谢!!!

java swing jtable renderer

5
推荐指数
1
解决办法
1万
查看次数

在JTable中更改一个单元格的背景颜色

可能重复:
更改Swing JTable单元格颜色

我开发了一个显示JTable的swing应用程序.我希望当用户修改单元格值时,单元格修改了更改颜色.

这是我在用户修改单元格时运行的代码:

this.myTable.getColumnModel().getColumn(column).setCellRenderer(new StatusColumnCellRenderer()); 
Run Code Online (Sandbox Code Playgroud)

这是我的单元格Render类的代码:

public class StatusColumnCellRenderer extends DefaultTableCellRenderer {

    @Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int col) {

        //Cells are by default rendered as a JLabel.
        JLabel l = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col);

        //Get the status for the current row.
        TableModelLotti tableModel = (TableModelLotti) table.getModel();

        if(isSelected)
            l.setBackground(Color.GREEN);

        //Return the JLabel which renders the cell.
        return l;
    }
}
Run Code Online (Sandbox Code Playgroud)

java swing jtable tablecellrenderer

1
推荐指数
1
解决办法
4万
查看次数