У меня просто небольшая проблема с моим кодом;В настоящее время я использую карточную раскладку, в которой у меня сейчас 3 кнопки.1 (на начальной панели) добавляет JLabels к начальной панели, другая (также на начальной панели) переключается на вторую панель, которая содержит только 3-ю кнопку, которая возвращает к начальной панели.Моя проблема заключается в том, что нажатие кнопок для переключения между панелями также вызывает первую кнопку, которая создает JLabels.
Вот часть моего кода:
actionListener al = new actionListener();
actionListener al2 = new actionListener();
actionListener al3 = new actionListener();
adddeck.addActionListener(al);//creates JLabels on panel1
addcardbutton.addActionListener(al2);//goes to panel2
goback.addActionListener(al3)//returns to panel1
Затем часть actionlistener:
public class actionListener implements ActionListener{
public void actionPerformed(ActionEvent event) {
JButton src = (JButton) event.getSource();
if(event.getSource()==adddeck)
decklist.add(new Deck(newdeck.getText()));
//panel for label/buttons
JPanel deckpanel;
deckpanel= new JPanel();
deckpanel.setLayout(new GridLayout(1,2));
//label with new deck name
JLabel decklabel;
decklabel = new JLabel(newdeck.getText());
deckpanel.add(decklabel);
deckpanel.revalidate();
//label with # of cards
JLabel cardamt;
cardamt = new JLabel(i +"cards");
deckpanel.add(cardamt);
deckpanel.revalidate();
//add panel
initial.add(deckpanel);
initial.revalidate();
if(event.getSource()==addcardbutton)
cardLayout.show(contentPanel,"adding");
if(event.getSource()==goback)
cardLayout.show(contentPanel,"initial");