jComboBox 获取选定项错误
jComboBox getSelected Item error
大家好,我在文本框中的 jcombobox 中显示所选项目时遇到了一些问题,这是我的代码:
double Cubao = 0;
double Zambales = 0;
final int Tickets = 50;
jLabel1.setText(String.valueOf(Tickets));
final double discount = .8;
String selecteditem = jComboBox2.getSelectedItem().toString();
String selectitem = jComboBox1.getSelectedItem().toString();
int Passengers = Integer.parseInt(jTextField2.getText());
if (jComboBox2.getSelectedItem().equals("Deluxe AC")) {
if (jComboBox1.getSelectedItem().equals("Cubao_QuezonCity"))
Cubao = 780;
}
if (jComboBox2.getSelectedItem().equals("Ordinary")) {
if (jComboBox1.getSelectedItem().equals("Cubao_QuezonCity"))
Cubao = 500; }
jTextField4.setText(String.valueOf(Cubao * Passengers));
if (jComboBox2.getSelectedItem().equals("Deluxe AC"))
if (jComboBox1.getSelectedItem().equals("Iba_Zambales")) {
Zambales = 530;
if (jComboBox2.getSelectedItem().equals("Ordinary"))
if (jComboBox2.getSelectedItem().equals("Iba_Zambales"))
Zambales = 300;
{
jTextField4.setText(String.valueOf(Zambales * Passengers));
}
{
jTextField4.setEditable(false);
jTextField1.setEditable(false);
现在当我将 Bus Type 设置为 Deluxe AC 时,它会显示:
http://tinypic.com/r/2s9zwcj/8
但是当我将 Bus Type 设置为 Ordinary nothing 时,它会显示:
http://tinypic.com/r/29mu0so/8
我的代码似乎有什么问题?
您多次检查相同的字段,这意味着您有很多 netsted if 块,这使得代码难以阅读。我建议这样:
if (jComboBox1.getSelectedItem().equals("Cubao_QuezonCity")) {
if (jComboBox2.getSelectedItem().equals("Deluxe AC")) {
Cubao = 780;
} else {
Cubao = 500;
}
jTextField4.setText(String.valueOf(Cubao * Passengers));
jTextField4.setEditable(false);
jTextField1.setEditable(false);
}
if (jComboBox1.getSelectedItem().equals("Iba_Zambales")) {
if (jComboBox2.getSelectedItem().equals("Deluxe AC")) {
Zambales = 530;
} else {
Zambales = 300;
}
jTextField4.setText(String.valueOf(Zambales * Passengers));
jTextField4.setEditable(false);
jTextField1.setEditable(false);
}
大家好,我在文本框中的 jcombobox 中显示所选项目时遇到了一些问题,这是我的代码:
double Cubao = 0;
double Zambales = 0;
final int Tickets = 50;
jLabel1.setText(String.valueOf(Tickets));
final double discount = .8;
String selecteditem = jComboBox2.getSelectedItem().toString();
String selectitem = jComboBox1.getSelectedItem().toString();
int Passengers = Integer.parseInt(jTextField2.getText());
if (jComboBox2.getSelectedItem().equals("Deluxe AC")) {
if (jComboBox1.getSelectedItem().equals("Cubao_QuezonCity"))
Cubao = 780;
}
if (jComboBox2.getSelectedItem().equals("Ordinary")) {
if (jComboBox1.getSelectedItem().equals("Cubao_QuezonCity"))
Cubao = 500; }
jTextField4.setText(String.valueOf(Cubao * Passengers));
if (jComboBox2.getSelectedItem().equals("Deluxe AC"))
if (jComboBox1.getSelectedItem().equals("Iba_Zambales")) {
Zambales = 530;
if (jComboBox2.getSelectedItem().equals("Ordinary"))
if (jComboBox2.getSelectedItem().equals("Iba_Zambales"))
Zambales = 300;
{
jTextField4.setText(String.valueOf(Zambales * Passengers));
}
{
jTextField4.setEditable(false);
jTextField1.setEditable(false);
现在当我将 Bus Type 设置为 Deluxe AC 时,它会显示: http://tinypic.com/r/2s9zwcj/8 但是当我将 Bus Type 设置为 Ordinary nothing 时,它会显示: http://tinypic.com/r/29mu0so/8
我的代码似乎有什么问题?
您多次检查相同的字段,这意味着您有很多 netsted if 块,这使得代码难以阅读。我建议这样:
if (jComboBox1.getSelectedItem().equals("Cubao_QuezonCity")) {
if (jComboBox2.getSelectedItem().equals("Deluxe AC")) {
Cubao = 780;
} else {
Cubao = 500;
}
jTextField4.setText(String.valueOf(Cubao * Passengers));
jTextField4.setEditable(false);
jTextField1.setEditable(false);
}
if (jComboBox1.getSelectedItem().equals("Iba_Zambales")) {
if (jComboBox2.getSelectedItem().equals("Deluxe AC")) {
Zambales = 530;
} else {
Zambales = 300;
}
jTextField4.setText(String.valueOf(Zambales * Passengers));
jTextField4.setEditable(false);
jTextField1.setEditable(false);
}