我的jTable专栏8是美国国家专栏。这是我的代码,可以用适当的项来设置jComboBox以显示状态。
当我使用缓冲阅读器填充Jtable时,下面的代码在设置combobox项时非常有效。
由于解析问题,我决定使用默认的CSVReader库,而不是自己重写它。我的jTable填充问题已经解决,但由于某种原因,这段代码现在更有效了。我是不是遗漏了什么?
jComboBox(0)是"--“。
java.lang.Object state = jTable1.getValueAt(jTable1.getSelectedRow(),8);
String g = state.toString();
if (g == "") {
jComboBox1.setSelectedIndex(0);
} else if (g == "AK") {
jComboBox1.setSelectedIndex(1);
} else if (g == "AL") {
jComboBox1.setSelectedIndex(2);
} else if (g == "AR") {
jComboBox1.setSelectedIndex(3);
}else if (g == "AZ") {
jComboBox1.setSelectedIndex(4);
}else if (g == "CA") {
jComboBox1.setSelectedIndex(5);
}else if (g == "CO") {
jComboBox1.setSelectedIndex(6);
}else if (g == "CT") {
jComboBox1.setSelectedIndex(7);
}else if (g == "DE") {
jComboBox1.setSelectedIndex(8);
}else if (g == "FL") {
jComboBox1.setSelectedIndex(9);
}else if (g == "GA") {
jComboBox1.setSelectedIndex(10);
}else if (g == "HI") {
jComboBox1.setSelectedIndex(11);
}else if (g == "IA") {
jComboBox1.setSelectedIndex(12);
}else if (g == "ID") {
jComboBox1.setSelectedIndex(13);
}else if (g == "IL") {
jComboBox1.setSelectedIndex(14);
}else if (g == "IN") {
jComboBox1.setSelectedIndex(15);
}else if (g == "KS") {
jComboBox1.setSelectedIndex(16);
}else if (g == "KY") {
jComboBox1.setSelectedIndex(17);
}else if (g == "LA") {
jComboBox1.setSelectedIndex(18);
}else if (g == "MA") {
jComboBox1.setSelectedIndex(19);
}else if (g == "MD") {
jComboBox1.setSelectedIndex(20);
}else if (g == "ME") {
jComboBox1.setSelectedIndex(21);
}else if (g == "MI") {
jComboBox1.setSelectedIndex(22);
}else if (g == "MN") {
jComboBox1.setSelectedIndex(23);
}else if (g == "MO") {
jComboBox1.setSelectedIndex(24);
}else if (g == "MS") {
jComboBox1.setSelectedIndex(25);
}else if (g == "MT") {
jComboBox1.setSelectedIndex(26);
}else if (g == "NC") {
jComboBox1.setSelectedIndex(27);
}else if (g == "ND") {
jComboBox1.setSelectedIndex(28);
}else if (g == "NE") {
jComboBox1.setSelectedIndex(29);
}else if (g == "NH") {
jComboBox1.setSelectedIndex(30);
}else if (g == "NJ") {
jComboBox1.setSelectedIndex(31);
}else if (g == "NM") {
jComboBox1.setSelectedIndex(32);
}else if (g == "NV") {
jComboBox1.setSelectedIndex(33);
}else if (g == "NY") {
jComboBox1.setSelectedIndex(34);
}else if (g == "OH") {
jComboBox1.setSelectedIndex(35);
}else if (g == "OK") {
jComboBox1.setSelectedIndex(36);
}else if (g == "OR") {
jComboBox1.setSelectedIndex(37);
}else if (g == "PA") {
jComboBox1.setSelectedIndex(38);
}else if (g == "RI") {
jComboBox1.setSelectedIndex(39);
}else if (g == "SC") {
jComboBox1.setSelectedIndex(40);
}else if (g == "SD") {
jComboBox1.setSelectedIndex(41);
}else if (g == "TN") {
jComboBox1.setSelectedIndex(42);
}else if (g == "TX") {
jComboBox1.setSelectedIndex(43);
}else if (g == "UT") {
jComboBox1.setSelectedIndex(44);
}else if (g == "VA") {
jComboBox1.setSelectedIndex(45);
}else if (g == "VT") {
jComboBox1.setSelectedIndex(46);
}else if (g == "WA") {
jComboBox1.setSelectedIndex(47);
}else if (g == "WI") {
jComboBox1.setSelectedIndex(48);
}else if (g == "WV") {
jComboBox1.setSelectedIndex(49);
}else if (g == "WY") {
jComboBox1.setSelectedIndex(50);
}谢谢你的帮助。JB
发布于 2012-10-17 04:39:02
不要使用==来比较字符串。改用equals(...)或equalsIgnoreCase(...)方法。了解==检查这两个对象是否相同,这不是您感兴趣的对象。另一方面,方法检查两个字符串是否具有相同的顺序,这才是最重要的。所以而不是
if (fu == "bar") {
// do something
}做,
if ("bar".equals(fu)) {
// do something
}或,
if ("bar".equalsIgnoreCase(fu)) {
// do something
}编辑
顺便说一句,您的程序设计可以大大改进。为什么要用神奇的数字?为此考虑使用枚举。
https://stackoverflow.com/questions/12927190
复制相似问题