Chciałbym napisać prostą aplikację swingową (jak zalączniku)
@Component
public class MainController {
@Autowired
private MainFrame frame;
@PostConstruct
private void init() {
frame.setExtendedState(frame.getExtendedState() | JFrame.MAXIMIZED_BOTH);
frame.setSize(new Dimension(1200, 800));
frame.setVisible(true);
}
}
@Component
public class MainFrame extends JFrame {
private JPanel mainPanel = new JPanel();
private JPanel menuPanel;
private JPanel contentPanel = new JPanel();
public MainFrame() {
init();
}
private void init() {
JScrollPane scrollPane = new JScrollPane(mainPanel);
scrollPane.setVisible(true);
add(scrollPane, BorderLayout.CENTER);
contentPanel.setVisible(true);
contentPanel.setBorder(BorderFactory.createLineBorder(Color.GRAY));
contentPanel.setLayout(new CardLayout());
menuPanel = new MenuPanel(contentPanel);
menuPanel.setVisible(true);
mainPanel.setVisible(true);
mainPanel.setLayout(new BorderLayout());
mainPanel.add(menuPanel, BorderLayout.NORTH);
mainPanel.add(contentPanel, BorderLayout.CENTER);
}
}
Chodzi o jakiś menu panel z przyciskami w górnej części frame i w głównej części chciałbym żeby podmieniały mi się panele w zalezności od tego który z buttonów się uruchomi.
Gdzie powinno się dodać akcje buttonów tak żeby zachować ład w kodzie?
Same przyciski będę tworzył w MenuPanel, ale jeśli tam miałbym dodać mouseListenera to musiałbym przekazywać referencję do contentPanelu