gpt4 book ai didi

java - Swing 中的切换面板

转载 作者:行者123 更新时间:2023-12-01 23:21:08 27 4
gpt4 key购买 nike

我有一个使用卡片布局的 Swing 应用程序,它基本上根据用户从下拉菜单中选择的内容来更改显示的面板。

我的一个面板有一个表单。我需要在按下提交按钮时收集所有输入并将面板切换到另一个面板。 (第二个面板是在单独的类中定义的)我还需要将所有输入以某种方式传递给新面板中的方法。

有什么建议吗?达里奥

最佳答案

如果你看<--在以下代码中,每个代码都应该解决您在帖子中遇到的每个不同问题。我认为你应该知道如何制作提交按钮,所以我没有包括它。 (注意:这不是运行代码,只是建议);

public class MainPanel entends JPanel {
CardLayout layout = new CardLayout(); <-- card layout
JPanel panel = new JPanel(layout); <-- set layout to main panel
NewPanel newPanel = new NewPanel(); <-- you new panel
JPanel p1 = new JPanel(); <-- random panel
JTextField text = new JTextField() <-- text field in form
JButton button = new JButton();

JComboBox cbox = new JComboBox(new String[] {"newPanel", "p1"}); <-- hold panel names

public MainPanel(){
panel.add(newPanel, "newPanel"); <-- name associated with panel
panel.add(p1, "p1");

...

cbox.addAItemListener(new ItemListener(){
public void itemStateChnaged(ItemEvent e){

layout.show(panel, (string).getItem()); <-- show Panel from combobox
}
});

button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String txt = text.getText();
newPanel.printText(txt); <-- Using method from other class
}
});
}
}

public class NewPanel extends JPanel {

public void printText(String text){ <-- method from other class
System.out.println(text);
}
}

关于java - Swing 中的切换面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20624403/

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