gpt4 book ai didi

java - 实现 ItemListener

转载 作者:行者123 更新时间:2023-11-29 08:04:16 26 4
gpt4 key购买 nike

我一直在 itemStateChanged 部分遇到问题。当我编译程序时出现“无法找到变量”错误,而且我似乎无法找出我哪里做错了。任何帮助深表感谢。谢谢。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Postcode extends JFrame implements ItemListener {

public static void main(String[] arg) {
JFrame fr = new JFrame("Melaka Postcode");
fr.setSize(240, 125);
fr.setVisible(true);
fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public Postcode() {
String[] code = {"75450", "77000", "78000"};
JLabel lb1 = new JLabel("Postcode");
JLabel lb2 = new JLabel("District?");
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JComboBox cb = new JComboBox(code);
cb.addItemListener(this);
Font f = new Font("Verdana", Font.BOLD, 14);
lb2.setFont(f);
p1.add(lb1);
p1.add(cb);
p2.add(lb2);
}

public void itemStateChanged(ItemEvent e) {
if (code.getSelectedItem().equals("75450")) {
lb2.setText = "Bukit Beruang";
}
if (code.getSelectedItem().equals("77000")) {
lb2.setText = "Jasin";
}
if (code.getSelectedItem().equals("75450")) {
lb2.setText = "Alor Gajah";
}
}
}

最佳答案

你的代码有很多问题,所以我必须在这里发布完整的解决方案。修复:

将变量声明为成员变量

combobox 上调用了 getSelectedItem(),而不是在 String 数组上调用

正确使用JLabel.setText()

import java.awt.Font;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class Postcode extends JFrame implements ItemListener {
String[] code = { "75450", "77000", "78000" };

JLabel lb1 = new JLabel("Postcode");

JLabel lb2 = new JLabel("District?");

JPanel p1 = new JPanel();

JPanel p2 = new JPanel();

JComboBox cb = new JComboBox(code);

public static void main(String[] arg) {
JFrame fr = new JFrame("Melaka Postcode");
fr.setSize(240, 125);
fr.setVisible(true);
fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public Postcode() {
cb.addItemListener(this);

Font f = new Font("Verdana", Font.BOLD, 14);

lb2.setFont(f);

p1.add(lb1);
p1.add(cb);

p2.add(lb2);

}

public void itemStateChanged(ItemEvent e) {
if (cb.getSelectedItem().equals("75450"))
lb2.setText("Bukit Beruang");
if (cb.getSelectedItem().equals("77000"))
lb2.setText("Jasin");
if (cb.getSelectedItem().equals("75450"))
lb2.setText("Alor Gajah");
}

}

关于java - 实现 ItemListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12449792/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com