Avatar billede aslan Nybegynder
09. juni 2002 - 12:00 Der er 11 kommentarer og
1 løsning

Skifte til andet JFrame i JtabbedPane?

Jeg skal fra min actionPerformed metode have skiftet over til til en anden JFrame i min JTabbedPane hvor nogle poster fra databasen bliver vist.Men jeg kan ikke lige hitte ud af hvordan??


                if(e.getSource() == søg)
                {
   

                    hentOpslag.visPoster();
                    hentOpslag.repaint();

                }
Avatar billede aslan Nybegynder
09. juni 2002 - 14:07 #1
hhmm er den så svær?
Avatar billede prom Nybegynder
09. juni 2002 - 14:09 #2
...
JPanel panel = new JPanel();
...

JTabbedPane pane = new JTabbedPane();
pane.addTab(...);
pane.addTab(...);
pane.addTab(panel);
pane.addTab(...);

pane.setSelectedComponent(panel);

prom
Avatar billede prom Nybegynder
09. juni 2002 - 14:10 #3
Ovenstående som svar..

prom
Avatar billede aslan Nybegynder
09. juni 2002 - 14:42 #4
Jeg forsøger mig således:

MainFrame hentFrame = new MainFrame();

              if( e.getSource() == visAlle )
              {
                  hentOpslag.visRes();
                  hentFrame.tabbedPane.setSelectedComponent(hentFrame.opslag);

              }

men den kan ikke genkende:

C:\Documents and Settings\aslan\Skrivebord\modelKomponent\ReservationG.java:359: cannot resolve symbol
symbol  : variable opslag 
location: class MainFrame
                  hentFrame.tabbedPane.setSelectedComponent(hentFrame.opslag);
                                                                              ^
C:\Documents and Settings\aslan\Skrivebord\modelKomponent\ReservationG.java:359: cannot resolve symbol
symbol  : variable tabbedPane 
location: class MainFrame
                  hentFrame.tabbedPane.setSelectedComponent(hentFrame.opslag);
                                    ^
2 errors

Tool completed with exit code 1
Avatar billede prom Nybegynder
09. juni 2002 - 16:16 #5
Det ser ud til at dit hovedvindue er hentFrame. I det frame har du så erklæret et JTabbedPane. Hvad putter du ind i tabbedPane?

tabbedPane.add(...);

Hvad er >>hentFrame.opslag<<?

Har du:
tabbedPane.add(hentFrame.opslag);?

Send lidt kode hvor du opretter dit JTabbedPane...

prom
Avatar billede aslan Nybegynder
09. juni 2002 - 16:39 #6
Taget fra MainFrame.java:

    public MainFrame() throws IOException
    {
        ImageIcon icon = new ImageIcon("ikon.gif");
        JTabbedPane tabbedPane = new JTabbedPane();
        tabbedPane.setFont(new Font("Serif", Font.BOLD, 13));


        Gaest g = new Gaest();
        Reservation r = new Reservation();
        Funktioner f = new Funktioner();
        Værelse v = new Værelse();
        VærelsesType vt = new VærelsesType();
        Opslag opslag = new Opslag(r,v);

        GaestG panel1 = new GaestG(g);
        tabbedPane.addTab("Gæst", icon, panel1.getContentPane());

        ReservationG panel2  = new ReservationG(r,f,g,opslag,tabbedPane);
        tabbedPane.addTab("Reservation", icon, panel2.getContentPane());

        VærelseG panel3 = new VærelseG(g,v,vt,opslag);
        tabbedPane.addTab("Værelse",icon,panel3.getContentPane());

        tabbedPane.addTab("Opslag",icon,opslag.getContentPane());


        setLayout(new GridLayout(1, 1));

        add(tabbedPane);
    }
-------------------------------------------------------------------

Taget fra ReservationG.java:


    Reservation hentRes;
    Funktioner hentFunk;
    Gaest hentGæst;
    Opslag hentOpslag;
    JTabbedPane hentPane;

  public ReservationG(Reservation r,Funktioner f,Gaest g, Opslag o,JTabbedPane t)
  {

      hentRes = r;
      hentFunk = f;
      hentGæst = g;
      hentOpslag = o;
      hentPane = t;

      osv...


              if( e.getSource() == visAlle )
              {
                  hentOpslag.visRes();
                  hentPane.tabbedPane.setSelectedComponent(hentPane.opslag);

              }


-------------------------------------------------------------------
Her er det meningen når jeg laver hentOpslag.visRes(); som bliver vist i en anden JFrame at man får den frame at se....
Avatar billede aslan Nybegynder
09. juni 2002 - 16:40 #7
fejlen:

C:\Documents and Settings\aslan\Skrivebord\modelKomponent\ReservationG.java:359: cannot resolve symbol
symbol  : variable opslag 
location: class javax.swing.JTabbedPane
                  hentPane.tabbedPane.setSelectedComponent(hentPane.opslag);
                                                                            ^
C:\Documents and Settings\aslan\Skrivebord\modelKomponent\ReservationG.java:359: cannot resolve symbol
symbol  : variable tabbedPane 
location: class javax.swing.JTabbedPane
                  hentPane.tabbedPane.setSelectedComponent(hentPane.opslag);
                                  ^
2 errors

Tool completed with exit code 1
Avatar billede prom Nybegynder
09. juni 2002 - 17:23 #8
Der er vist en nemmere måde at gøre det på:
tabbedPane.setSelectedIndex(int index);

Så er det bare at holde styr på hvilket index dine tabs har. tabbedPane's første tab har selvfølgelig index = 0.

prom
Avatar billede aslan Nybegynder
09. juni 2002 - 19:42 #9
C:\Documents and Settings\aslan\Skrivebord\modelKomponent\ReservationG.java:359: cannot resolve symbol
symbol  : variable tabbedPane 
location: class ReservationG
                  tabbedPane.setSelectedIndex(0);
                          ^
1 error

Tool completed with exit code 1
Avatar billede aslan Nybegynder
09. juni 2002 - 19:44 #10
Det havde jeg faktisk forsøgt mig med før...
Avatar billede prom Nybegynder
09. juni 2002 - 21:26 #11
Det er ikke mærkeligt at compileren ikke ved hvad tabbedPane er for noget.

Så vidt jeg kan se overfører du et JTabbedPane til ReservationG i konstruktoren.....lag o, JTabbedPane t){....hentPane = t;...

Så er det vel hentPane.setSelectedIndex(0);

prom
Avatar billede aslan Nybegynder
09. juni 2002 - 22:00 #12
Utroligt jeg kunne sværge på at jeg også havde prøvet den mulighed uden resultat... oh well det virker nu.
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