Hvis du har lavet dit JPanel som en seperat klasse, kan du i dit JFrame gemme denne som en objekt variabel til JFrame klassen. Herefter kan du benytte denne som et objekt, når du i dit JFrame vil interagerer med dit JPanel.
Eksempel
- //Imports udeladt
-
- public class MainWindow extends JFrame {
-
- //Mit JPanel er af typen ContentPanel, som er en klasse jeg selv har lavet.
- private JPanel contentPanel = new ContentPanel();
- private JButton changeBackgroundColorBtn = new JButton("Change Color");
-
- private void btnClickEvents() {
- changeBackgroundColorBtn.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent evt) {
- //Her kan jeg så kalde mit JPanels metode der kan skifte baggrunds farven
- contentPanel.changePanelBackgroundColor();
- }
- });
- }
-
- }
Bemærk at eksemplet er simplifiveret for at vise hvordan det kan gøres. Pointen er at du kan ved at holde dit JPanel i en objekt variabel kalde dens metoder og derved interagerer med den som du har lyst til.
Håber at det var med til at besvare dit spørgsmål