Avatar billede trp79 Nybegynder
08. marts 2003 - 23:28 Der er 2 kommentarer og
2 løsninger

Hvordan henviser man til den frame man er i?

Jeg arbejder i en jframe som er oprettet fra en anden klasse (hvor main metoden er)
Når jeg så i denne klasse vil oprette en JDialog, hvad erstatter jeg så "frame" med i understående eks?

JDialog addFirma = new JDialog(frame, "Title as usual", true);
Avatar billede repsak Nybegynder
09. marts 2003 - 01:12 #1
Du kan overføre en reference til din JFrame fra din main-klasse til din JDialog klasse og så benytte den.
Ellers vis noget kode :)
Avatar billede viht Nybegynder
09. marts 2003 - 04:53 #2
Ellers kan du lave din JFrame til en singleton, det plejer jeg at gøre. Så er du fri for at smide referencer ud til 10 forskellige paneler.

public class MyFrame extends JFrame {
  private static MyFrame instance = null;
  protected MyFrame() {
      ... // constructor stuff
  }
  public static MyFrame getInstance() {
      if( instance == null )
        instance = new Myframe();
      return instance;
  }
  ...
}

// fra et panel eller lignende:

JOptionPane.showMessageDialog(MyFrame.getInstance(), "Test");
Avatar billede trp79 Nybegynder
09. marts 2003 - 08:34 #3
Jeg takker, det var noget der kunne bruges :o)
Avatar billede repsak Nybegynder
09. marts 2003 - 11:47 #4
Ja singletons holder 100%
Jeg plejer at lave dem en smule anderledes:
public class MyFrame extends JFrame{
private static final MyFrame INSTANCE = new MyFrame();
private MyFrame(){
//this.setSize(...);
//bla. bla.
}
public static MyFrame getInstance(){
return INSTANCE;
}
}

...men det er jo stort set det samme :)
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