Java 如何使用For循环检查IF条件下的Jtable值

Java 如何使用For循环检查IF条件下的Jtable值,java,swing,loops,Java,Swing,Loops,我的代码只适用于第一行。我想添加一行,如果它不在JTable中Class\u assing\u tb是我的JTable 我想在单击“添加项”按钮时将从JCombobox获得的值添加到JTable。最多只能输入4项。我想这样做,如果我添加一个已经在JTable中的项,我想给出一个消息“拒绝”,否则将该项添加到JTable int count = Class_assing_tb.getRowCount(); if (count == 0) { addrow(); //this is to C

我的代码只适用于第一行。我想添加一行,如果它不在JTable中<代码>Class\u assing\u tb是我的JTable

我想在单击“添加项”按钮时将从JCombobox获得的值添加到JTable。最多只能输入4项。我想这样做,如果我添加一个已经在JTable中的项,我想给出一个消息“拒绝”,否则将该项添加到JTable

int count = Class_assing_tb.getRowCount();
if (count == 0) {
    addrow(); //this is to Command For Add new Row
} else if (count == 4) {
    System.out.println("maximum Row Count");
    // msg ****** Maximum Classes
} else {
    int a = Class_assing_tb.getRowCount();
    DefaultTableModel tm2 = (DefaultTableModel) Class_assing_tb.getModel();
    loop:
    for (int i = 0; i < a; i++) {
        //System.out.println("Row Count is" + a);
        // System.out.println("Sttate is"+i);
        if (tm2.getValueAt(i, 0).equals(mng_stu_classatnd.getSelectedItem()) & tm2.getValueAt(i, 2).equals(mng_stu_batch.getSelectedItem()) & tm2.getValueAt(i, 3).equals(mng_stu_type.getSelectedItem())) {
            System.out.println("Denied");
            break loop;
        } else {
            addrow();//this is to Command For Add new Row
            // continue loop;
        }
    }
}
int count=Class_assing_tb.getRowCount();
如果(计数=0){
addrow();//这是用于添加新行的命令
}否则如果(计数=4){
System.out.println(“最大行数”);
//msg******最大等级
}否则{
int a=Class_assing_tb.getRowCount();
DefaultTableModel tm2=(DefaultTableModel)类_assing_tb.getModel();
循环:
for(int i=0;i
尝试以下方法:

//全球宣言

private Vector<Vector<String>> data; //used for data from database
private Vector<String> header; //used to store data header
专用矢量数据//用于数据库中的数据
专用向量头//用于存储数据头
//在表单加载时仅显示标题

//create header for the table
header = new Vector<String>();
header.add("Column"); 
model=new DefaultTableModel(data,header);
table = new JTable(model);
//为表创建标题
header=新向量();
标题。添加(“列”);
模型=新的DefaultTableModel(数据,标题);
表=新JTable(型号);
//在actionPerformed()中

public void actionPerformed(ActionEvent ae){
如果(ae.getSource()=添加){
int count=table.getRowCount();

对于(int i=1;i请更详细地解释您的问题和代码。我想在单击“添加项”按钮时将从Jcombobox获取的值添加到Jtable,最多只能输入4项,我想这样做,如果我在Jtable中添加已添加的项,我想给出一条消息“拒绝”,否则将项添加到Jtable“最多只能输入4项”-什么是“项”"?这是一个完整的行吗?这只是一行中的一个单元格吗?每行有多少个单元格?无关:请学习java命名约定并坚持它们。你应该在你的答案中加入更多的解释。虽然你的答案可能有效,但它不会告诉读者他们做错了什么以及如何更正。或者如果你采取了完全不同的t从OP开始,仍然解释你在代码中所做的事情。这会得到一个更好的答案:)@peeskillet好的,谢谢。我知道了,你想说什么。下次我也会注意解释部分。
public void actionPerformed(ActionEvent ae){
    if(ae.getSource()==add){
    int count=table.getRowCount();
    for(int i=1;i<=count;i++){
    if(table.getValueAt(i,0).equals(jComboBox.getSelectedItem())){
           JOptionPane.showMessageDialog((Component) null,"Duplicate...");
           return;
    }
    }

    if(count==4){
           JOptionPane.showMessageDialog((Component) null,"Maximum Limit is crossed...");
    }else{
     Object d= jComboBox.getSelectedItem();
     model.addRow(d);
    }

}
}