gpt4 book ai didi

Java Swing 将类动态加载到面板中

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

我的程序看起来像这样!

enter image description here

我想让底部根据组合框中选择的项目动态地将框架加载到底部框架中。例如,如果选择第一项,我希望显示 PresentValue.java 文件中的面板。我的想法是,我为每个选择都有一个 java 文件,显示我在其各自的 java 文件中设计的内容。

enter image description here

enter image description here

这两个 java 文件应该放入我的第一个屏幕截图中的“底部”框中,具体取决于组合框中的选择。

我更习惯 Android 编程,在那里我会简单地从片段调用替换方法来交换加载的片段...在这里寻找类比。

final JComboBox selectorBox = new JComboBox(selection);
selectorBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
int selectionID = selectorBox.getSelectedIndex();

}
});

但找不到办法做我想做的事。请解释一下。

最佳答案

对于您拥有的每个 Java 文件,该 Java 文件的输出应该是 JPanel。不是 JFrame

在显示任何内容之前,请执行您拥有的所有 Java 文件。创建所有可能的 JPanel

在 GUI 中创建 JFrame,然后使用 JFrame 的删除和添加方法来删除或添加所需的 JPanel

这是我的 GUI 之一的示例。

public void updatePartControl() {
Thread thread = new CountdownThread(model, this, displayPanel);
thread.start();

frame.remove(alarmPanel.getPanel());
frame.add(displayPanel.getPanel());
frame.validate();
frame.pack();
frame.setBounds(getBounds());
}

如果显示 JPanel 大于或小于警报 JPanel,setBounds 方法会重置边界。

您的应用程序应该有一个 JFrame。您使用多个 JPanel 来创建 GUI。

关于Java Swing 将类动态加载到面板中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12824993/

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