Avatar billede inf2001 Nybegynder
12. december 2002 - 17:20 Der er 2 kommentarer

EventListener

Vi har noget GUI som vi gerne vil have en mouseListener på.
GUI'en består et JTabbledPane med en del JPanels vedhæftet som fungere som faneblade. Vi vil så gerne ha at forskellige events sker når man trykker på de forskellige faneblade. Dette har vi tidligere gjort med en if, else struktur:

if (e.getSource() == theGUI.someComponent) {
doSomething()
} else if (e.getSource() == theGUI.otherComponent)

osv.....

Når vi kører en System.out.print() på getSource kan vi se at ligemeget hvilket panel vi trykker på anfører den JTabbledPane som det component eventen bliver udført på.

mouseListener er add'et til alle JPanels og JTabbledPane, hvis Listeneren fjernes fra sidstnævte bliver der slet ikke registreret nogle events.

Hvordan får vi Listeneren til at registrere at vi mener udfører en event på de forsk. JPanels og ikke på JTabbledPane?
Eller er der en helt anden løsning?

Tak.
Avatar billede janus_007 Nybegynder
12. december 2002 - 20:43 #1
Kunne man monstro bruge CardLayout til at løse opgaven ?

eller en anden mulighed var jo at tilføje en mouseListener på teksten som i så bagefter adder til jeres JPanel ?
Avatar billede aslan Nybegynder
12. december 2002 - 22:39 #2
tabbedPane.addMouseListener( new MouseAdapter()
        {
            public void mouseClicked(MouseEvent e)
            {
                int mouseClicked = e.getClickCount();

               
                if (mouseClicked == 1 && tabbedPane.getSelectedIndex() == 1)
                {
                     
                    //gør noget
                }                                                       
            }
        });
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

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Nye kolleger søges til IT Stab i Forsvaret

Politiets Efterretningstjeneste

Datacentertekniker hos PET

Nextway Software A/S

Product Configuration Specialist

Aller Media A/S

IT Operations Engineer