Java 在小程序中返回值?

Java 在小程序中返回值?,java,applet,Java,Applet,有人知道我如何在一个动作监听器里做这件事吗?我有以下几点 private void (java.awt.event.ItemEvent evt) { if (studentComboBox.getSelectedItem().equals("Student 1")){ jlabel1=return parameter ="i" String i = getParameter("

有人知道我如何在一个动作监听器里做这件事吗?我有以下几点

private void (java.awt.event.ItemEvent evt) {                                                   
    if (studentComboBox.getSelectedItem().equals("Student 1")){


jlabel1=return parameter ="i"



String i = getParameter("student2");

但我确信return参数不正确

return允许您指定要返回的值。它不允许你做作业;由调用您的方法的代码决定如何操作

在任何情况下,您的方法
StudentComboxItemStateChanged
是一个
void
方法,这意味着它不能返回值(常规
return
有效,它只是离开该方法)

这取决于你和你需要什么。在您的情况下,最好的解决方案可能是在每个
if
s中设置一些变量或调用带有参数的函数

如果试图将jlabel1的值设置为
“h”
“i”
“j”

但看起来您正在尝试使用变量
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));
}
Map prettyNamesToParameterNames=。。。;
私有void studentComboxItemStateChanged(java.awt.event.ItemEvent evt){
String paramName=prettyNamestoParameterNames.get(studentComboBox.getSelectedItem());
label1.setValue(getParameter(paramName));
}

看起来您正试图根据JComboBox中的选定项设置变量。要做到这一点,您的语法是错误的,您不需要使用return关键字,只需设置所需的变量

如果需要返回值,则只需返回要返回的值,并更改方法签名以指定返回类型


最后,不是使用一组杂乱的if/else语句,而是使用映射。它将更加清晰、高效,并且更容易在以后进行更改。此外,您的代码是否说明选择了null。

因此,当用户在
studentComboBox
中选择不同的值时,您希望
jlabel1
更改其文本?如果是这样的话,应该这样做:

String h = getParameter("student1");
String i = getParameter("student2");
String j = getParameter("student3");

private void studentComboBoxItemStateChanged(java.awt.event.ItemEvent evt) {                                                   
    if (studentComboBox.getSelectedItem().equals("Student 1")){
        jlabel1.setText(h);
    } else if (studentComboBox.getSelectedItem().equals("Student 2")){
        jlabel1.setText(i);
    } else if (studentComboBox.getSelectedItem().equals("Student 3")){
        jlabel1.setText(j);
    }
}

请注意,
studentComboxItemStateChanged
不需要返回任何内容。您只需对
jlabel1
对象本身调用方法。

您的问题不清楚。另外,你没有使用正确的大写字母。你的代码和问题仍然没有意义。最后三行是什么?您是要检索3个参数还是1个参数?
String h = getParameter("student1");
String i = getParameter("student2");
String j = getParameter("student3");

private void studentComboBoxItemStateChanged(java.awt.event.ItemEvent evt) {                                                   
    if (studentComboBox.getSelectedItem().equals("Student 1")){
        jlabel1.setText(h);
    } else if (studentComboBox.getSelectedItem().equals("Student 2")){
        jlabel1.setText(i);
    } else if (studentComboBox.getSelectedItem().equals("Student 3")){
        jlabel1.setText(j);
    }
}