繁体   English   中英

如何在JTable中仅勾选一个复选框?

[英]How to make only one checkbox ticked in JTable?

我有一个5列20行的JTable 标头是NameIDPresentAbsentLate

我想限制用户在所有3个方框中打勾,这显然是没有意义的。

这样做的最简单方法是什么,例如,如果选中了present,则取消选中,则现值将变为false。

这是我的代码的基本版本。 笑请忽略它是多么糟糕,我是相当新的节目。

JPanel classRegPanel = new JPanel(null); //layout

Object data[][]= new Object[10][5];  
String columns[]={"Name","ID","Present", "Absent", "Late"};  

DefaultTableModel model = new DefaultTableModel(data, columns) {

boolean[] canEdit = new boolean[]{
                false, false, true, true,true
        };

        public boolean isCellEditable(int rowIndex, int columnIndex) {
            return canEdit[columnIndex];
        }

@Override
public Class<?> getColumnClass(int columnIndex)
{
    return columnClass[columnIndex];
}};

JTable table=new JTable(model);  

JScrollPane scrollPane=new JScrollPane(table);    

final Class[] columnClass = new Class[] 
{
String.class, Integer.class, Boolean.class, Boolean.class,Boolean.class
};


public void Setup()
 {
this.setLayout(new FlowLayout());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    

this.add(scrollPane);

this.setTitle("Register");
this.setSize(500,380);
this.setVisible(true);
this.setResizable(false);
 }

public static void main(String[] args )
 {
    ClassRegister cr = new ClassRegister();
    cr.Setup();
 }

复选框允许根据设计进行多项选择。 如果您一次只希望填充一个,请使用单选按钮而不是复选框,这正是它们的用途。 请参阅: http : //www.w3schools.com/html/tryit.asp?filename=tryhtml_form_radio

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM