簡體   English   中英

swing-如何使用按鈕切換JPanel

[英]swing - how to switch JPanel using button

大家好,我打算創建登錄面板。 在該面板中應該是用戶JLabel,密碼JLabel,用戶JTextField,密碼JTextField和JButon。 我想使用該按鈕切換到新的JPanel。 我讀過最好的方法是CardLayout,我試圖修改該代碼:

//Where the GUI is assembled:
//Put the JComboBox in a JPanel to get a nicer look.
JPanel comboBoxPane = new JPanel(); //use FlowLayout
String comboBoxItems[] = { BUTTONPANEL, TEXTPANEL };
JComboBox cb = new JComboBox(comboBoxItems);
cb.setEditable(false);
cb.addItemListener(this);
comboBoxPane.add(cb);
...
pane.add(comboBoxPane, BorderLayout.PAGE_START);
pane.add(cards, BorderLayout.CENTER);
...

//Method came from the ItemListener class implementation,
//contains functionality to process the combo box item selecting
public void itemStateChanged(ItemEvent evt) {
    CardLayout cl = (CardLayout)(cards.getLayout());
    cl.show(cards, (String)evt.getItem());
}

我正在嘗試修改那部分代碼

JComboBox cb = new JComboBox(comboBoxItems);
cb.setEditable(false);
cb.addItemListener(this);
comboBoxPane.add(cb);
pane.add(comboBoxPane, BorderLayout.PAGE_START);
pane.add(cards, BorderLayout.CENTER);

並將其更改為:

JButton loginButton = new JButton();
loginButton.addItemListener(this);
comboBoxPane.add(loginButton);
pane.add(loginButton, BorderLayout.PAGE_START);
pane.add(cards, BorderLayout.CENTER);

我不能使用:

JButton loginButton = new JButton(comboBoxItems);

因為編譯器返回錯誤:構造函數JButton(String [])未定義

有誰能幫助我解決我的問題。 我是Java編程的新手

JButton沒有采用String數組的構造函數。 只需調用:

JButton loginButton = new JButton("Login");

請參閱: 使用JFC / Swing創建GUI

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM