Avatar billede fizk Nybegynder
22. marts 2007 - 10:08 Der er 2 kommentarer og
1 løsning

Listener til JTabs?

Hej folkens!
Vi sidder lige og leger lidt med faneblade i forbindelse med et skoleprojekt.
Det vi så gerne vil have lavet, er at der bliver udført en bestemt kommando (en sql-select) når man går ind på et bestemt faneblad, men ... Vi kan ikke rigtigt finde nogen passende listener til det.
Er det noget der findes, og i så fald, nogen der kan give et hurtigt eksempel på hvordan denne bruges?

På forhånd tak.
Avatar billede aslan Nybegynder
22. marts 2007 - 19:27 #1
Implementere "ChangeListener" i jeres JFrame.


Tilføj listener på tabbedPane:  tabbedPane.addChangeListener(this);


Selve impl. af stateChanged vil så se ud ala:

    public void stateChanged(ChangeEvent e) {
        if(tabbedPane.getSelectedComponent()==panel_1) {
              //udfør sql
        }
    }
Avatar billede fizk Nybegynder
23. marts 2007 - 11:16 #2
Ok, nu har jeg så den listener der skal smides på, men jeg kan ikke rigtigt få det til at virke, så jeg håber du har tålmodighed til at gøre mig endnu en tjeneste?
Jeg får <identifier> expected i flg. kode:

import java.awt.*;
import javax.swing.*;
import java.awt.Container;
import java.awt.event.*;
import javax.swing.event.*;
public class StartThis extends JFrame implements ChangeListener
{
    public static void main(String[] args)
    {
        new StartThis().setVisible(true); 
    }

    private JTabbedPane jPane;
    statusFrame movieStatus = new statusFrame();



    jPane.addChangeListener(this);
    public void stateChanged(ChangeEvent e)
    {
        if(jPane.getSelectedComponent()==movieStatus)
        {
              System.out.println("Pane changed!");
        }
    }
(der er mere kode, hvor jeg bla. add'er tabs... Jeg synes bare ikke det var relevant at poste det hele)


på linjen jPane.addChangeListener(this); ... Er det mig der har gjort noget galt, eller kan du se hvad der sker?
Avatar billede fizk Nybegynder
23. marts 2007 - 11:19 #3
Doh... Efter lige at have læst det igennem, fandt jeg fejlen... Det er pænt irriterende når man har stirret sig blind på et problem ^^
Den førnævnte linje jPane.addChangeListener(this); skulle baer lige flyttes ned i constructoren på StartThis() ... =/
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