gpt4 book ai didi

java - 一个 JPanel 中存在多个 JComboBox

转载 作者:行者123 更新时间:2023-12-02 07:02:58 25 4
gpt4 key购买 nike

我有一个带有三个 JComboBox 的 JPanel。这是我写的代码:

public class Main {

private static String pat_order;
private static String PS_selection;
private static String ovlp_selection;


public static void main(String args[]) throws FileNotFoundException, IOException {
Date start_time = new Date();
try {
GridBagConstraints gbc = new GridBagConstraints();
final JComboBox jc = new JComboBox();
jc.addItem("ARR");
jc.addItem("SRR");

final JComboBox jc1 = new JComboBox();
jc1.addItem("RR");
jc1.addItem("IQC");

final JComboBox jc2 = new JComboBox();
jc2.addItem("YES");
jc2.addItem("NO");

JPanel myPanel = new JPanel(new GridBagLayout());
myPanel.add(jc, gbc);
myPanel.add(jc1, gbc);
myPanel.add(jc2, gbc);

jc.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ie) {
String order = (String) jc.getSelectedItem();
pat_order = order;
}
});


jc1.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ie) {

String PS_method = (String) jc1.getSelectedItem();
PS_selection = PS_method;
}
});


jc2.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ie) {

String ovlp_user = (String) jc2.getSelectedItem();
ovlp_selection = ovlp_user;
}
});


if (pat_order == "ARR") {
Arrays.sort(patterns_array, new ColumnComparator(0));
} else if (pat_order == "SRR") {
Arrays.sort(patterns_array, new ColumnComparator(1));
}

if (PS_selection == "RR") {
System.out.println("RR");
} else if (PS_selection == "IQC") {
System.out.println("IQC");
}
if (ovlp_selection == "YES") {
Overlap a = new Overlap(Xdisc, final_patterns, k, Yresid, Xresid, projectname, pat_order, PS_selection);
}

} catch (Exception e) {
System.err.println("Error: " + e.getMessage());
} finally {
}
}
}

问题是第一个 JComboBox 工作正常,但第二个和第三个 JComboBox 没有执行任何操作。如果您能帮助我解决这个问题,那就太好了。

最佳答案

您似乎正在运行您的 UI,就好像它是一个控制台程序一样。 UI 不是这样工作的,它们响应事件。这些事件可能以任何顺序、在任何时间发生...

对话框是控制执行流程的好方法。它们将阻止代码直到对话框关闭,以便您确定结果并采取适当的操作。

看看How to use dialogs了解更多详情...

当您在那里时,您可能还想查看Creating a UI with Swing这将解释更多您需要理解的概念。

就像 UI 需要某种窗 Eloquent 能显示在屏幕上的事实

关于java - 一个 JPanel 中存在多个 JComboBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16412069/

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