返回允许您指定的值返回。它不允许你做任务;取决于调用您的方法来确定如何操作的代码。
在任何情况下,您的方法studentComboBoxItemStateChanged
是void
方法,这意味着它不能返回一个值(常规return
工作,它只是离开方法)。
这取决于你和你需要什么。在你的情况下,最好的解决方案可能是设置一些变量或在每个if
s中用一个参数调用某个函数。
编辑如果你想JLabel1所做的值设置为"h"
,"i"
,"j"
if (studentComboBox.getSelectedItem().equals("Student 1")) { jlabel1.setValue("h"); }
....
但它看起来像你想使用变量h
,i
,和j
。请记住"h"
与h
不同。
if (studentComboBox.getSelectedItem().equals("Student 1")) { jlabel1.setValue(h); }
....
但要做到这一点,h
,i
和j
将需要被定义为实例变量,方法之外。
在这种情况下,最好解决方案,假设标签应持有的getParameter(“student1”)的值,是能够做到这一点:
if (studentComboBox.getSelectedItem().equals("Student 1")) { jlabel1.setValue(getParameter("student1")); }
....
正如别人所说,地图会非常适合这个
Map<String, String> prettyNamesToParameterNames= ...;
private void StudentComboBoxItemStateChanged(java.awt.event.ItemEvent evt) {
String paramName=prettyNamestoParameterNames.get(studentComboBox.getSelectedItem());
label1.setValue(getParameter(paramName));
}
你的问题还不清楚。另外你没有使用正确的大写字母。 – jzd 2010-12-08 18:33:23