Я хочу добавить одну и ту же кнопку в разные дочернии панели. Если я добавляю эту единственную кнопку всего в одну дочернюю панель, то все хорошо работает, а если в 2 или более панели, то эта кнопка перестает отображаться. Я могу сделать три разные кнопки с одинаковым функционалом и все заработает, но зачем такие костыли.
package com.company;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Main {
JFrame frame = new JFrame();
JPanel panelCont = new JPanel();
JPanel mainPanel = new JPanel();
JPanel pane1 = new JPanel();
JPanel pane2 = new JPanel();
JPanel pane3 = new JPanel();
JButton button1 = new JButton("to first panel");
JButton button2 = new JButton("to second panel");
JButton button3 = new JButton("to third panel");
JButton buttonBack = new JButton("Back");
CardLayout cl = new CardLayout();
public Main() {
panelCont.setLayout(cl);
mainPanel.add(button1);
mainPanel.add(button2);
mainPanel.add(button3);
mainPanel.setBackground(Color.YELLOW);
pane1.setBackground(Color.BLUE);
pane2.setBackground(Color.GREEN);
pane3.setBackground(Color.PINK);
panelCont.add(mainPanel, "main");
panelCont.add(pane1, "1");
panelCont.add(pane2, "2");
panelCont.add(pane3, "3");
pane1.add(buttonBack);
pane2.add(buttonBack);
pane3.add(buttonBack);
cl.show(panelCont, "main");
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
cl.show(panelCont, "1");
}
});
button2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
cl.show(panelCont, "2");
}
});
button3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
cl.show(panelCont, "3");
}
});
buttonBack.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
cl.show(panelCont, "main");
}
});
frame.add(panelCont);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(200, 200, 200, 200);
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new Main();
}
});
}
}
Выше я говорили про кнопку buttonBack
, именно она не хочет отображаться во всех трех панелях.
Помогите, пожалуйста, разобраться с данной проблемой.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть ли простой способ получить из объектов класса LocalDate или LocalDateTime объект класса Calendar?
Начал изучать JavaEE, но не знаю, где можно попрактиковать навыкиМб вы знаете где можно посмотреть готовые проекты JavaEE или не готовые, что бы самому...
Файлы с главного каталога считывает а с подкаталога нет в чем может быть проблема?
Когда запускаю JSP Web Application на Tomcat или JBoss Server, оно запускает indexjsp первым (index