0
我有一個使用卡片佈局的Swing應用程序,它基本上根據用戶從下拉菜單中選擇的內容來更改顯示的面板。在Swing中切換面板
我的一個面板有一個窗體。當按下提交按鈕時,我需要收集所有要收集的輸入信息,並且要切換到另一個輸入。 (這第二個面板是在一個單獨的類中定義的)我還需要將所有輸入以某種方式傳遞給新面板中的方法。
有什麼建議嗎? Dario
我有一個使用卡片佈局的Swing應用程序,它基本上根據用戶從下拉菜單中選擇的內容來更改顯示的面板。在Swing中切換面板
我的一個面板有一個窗體。當按下提交按鈕時,我需要收集所有要收集的輸入信息,並且要切換到另一個輸入。 (這第二個面板是在一個單獨的類中定義的)我還需要將所有輸入以某種方式傳遞給新面板中的方法。
有什麼建議嗎? Dario
如果您看下面的代碼中的<--
s,每個應該解決您在帖子中的每個不同問題。我想你應該知道如何製作一個提交按鈕,所以我沒有包括這個。 (注意:這不是運行代碼,只是建議);
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);
}
}
你能告訴我們一個代碼示例嗎? –