Avatar billede mulp Nybegynder
09. juni 2003 - 02:20 Der er 3 kommentarer og
1 løsning

Swing (extends JPanel)

Jeg sidder og jonglerer rundt med en hovedklasse der extends JFrame. Til JFramen vil jeg gerne tilføje nogle forskellige JPanels, og har til lejligheden designet nogle forskellige GUI-klasser der extends JPanel, som det så er meningen der skal oprettes objekter af i hovedklassen. Nu er problemet at jeg gerne vil kunne kommunikere mellem de forskellige JPanel-klasser, og også mellem hovedklassen og disse. Kan det lade sig gøre, og hvordan?
Avatar billede arne_v Ekspert
09. juni 2003 - 09:09 #1
Mit umiddelbare bud: send en referance til JFrame objektet med over i
alle constructor kaldene til JPanel objekterne og lad dem gemme det,
lad JFRame objektet gemme en referance til alle JPanel objekterne
enten som public eller med en get metode, så kan en JPanel kalde
en metode på tværs med:

frame.getThePaneIWant().doSOmething();
Avatar billede mulp Nybegynder
09. juni 2003 - 10:01 #2
Hvordan ville du overføre referencen til hovedklassen (hvorfra du opretter objekter af JPanels-klasserne) til dine JPanels objekter?
Avatar billede arne_v Ekspert
09. juni 2003 - 10:14 #3
public class MyPanel extends JPanel {
  private MyFrame mf;
  public MyPanel(MyFrame mf) {
      this.mf = mf;
  }
  ...
}

I framen:

MyPanel mp = new MyPanel(this);
Avatar billede mulp Nybegynder
09. juni 2003 - 13:42 #4
Jeg droppede idéen, men dit svar lød fornuftigt!

Tak for hjælpen!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester