Java 如何使用For循环检查IF条件下的Jtable值
我的代码只适用于第一行。我想添加一行,如果它不在JTable中<代码>Class\u assing\u tb是我的JTable 我想在单击“添加项”按钮时将从JCombobox获得的值添加到JTable。最多只能输入4项。我想这样做,如果我添加一个已经在JTable中的项,我想给出一个消息“拒绝”,否则将该项添加到JTableJava 如何使用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
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);
}
}
}