/
Forside
/
Teknologi
/
Udvikling
/
Java
/
Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn
*
Kodeord
*
Husk mig
Brugerservice
Kom godt i gang
Bliv medlem
Seneste indlæg
Find en bruger
Stil et spørgsmål
Skriv et tip
Fortæl en ven
Pointsystemet
Kontakt Kandu.dk
Emnevisning
Kategorier
Alfabetisk
Karriere
Interesser
Teknologi
Reklame
Top 10 brugere
Java
#
Navn
Point
1
molokyle
3688
2
Klaudi
855
3
strarup
740
4
Forvirret
660
5
gøgeungen
500
6
Teil
373
7
Stouenberg
360
8
vnc
360
9
pmbruun
341
10
mccracken
320
Hvordan får man en genvejstast paa en
Fra :
Thorbjørn Ravn Ander~
Dato :
03-02-04 14:58
Jeg har en forholdsvis kompliceret swingapplikation hvor der er
genvejstaster på menuerne, og som kan startes med Alt-genvejstast. Det
er fint.
Der er også genvejstaster på diverse JButtons der vises en del af deres
levetid, og jeg vil gerne have at når en given JButton faktisk er synlig
er det dén der får genvejstastinformationen og ikke menusystemet. Lige
nu er det omvendt, og det er lidt bøvlet.
Da jeg ikke har det store Swingkørekort, vil jeg godt lige høre om der
er nogen der har en fiks let måde at gøre dette på? Jeg vil nødigt ud
og rette på de enkelte komponenter.
På forhånd tak,
--
Thorbjoern Ravn Andersen "...plus...Tubular Bells!"
Ulrik Magnusson (
03-02-2004
)
Kommentar
Fra :
Ulrik Magnusson
Dato :
03-02-04 19:10
Thorbjørn Ravn Andersen wrote:
> Der er også genvejstaster på diverse JButtons der vises en del af deres
> levetid, og jeg vil gerne have at når en given JButton faktisk er synlig
> er det dén der får genvejstastinformationen og ikke menusystemet. Lige
> nu er det omvendt, og det er lidt bøvlet.
Desværre ikke noget svar, men det ser ud til at være
javax.swing.KeyboardManager
der håndterer rækkefølgen (i fireKeyboardAction() ) - og ser ud til at gerne
ville
lade menuer vente til sidst, hmm.. Og sjovt nok kan jeg bytte om på
rækkefølgen
ved at kalde JMenu.setMnemonic() før eller efter JMenuBar.add(menu) i
nedenstående:
public class MenuFrameShortcutBlaBla
{
public static void main( String[] args )
{
javax.swing.JFrame f = new javax.swing.JFrame();
javax.swing.JMenu menu = new javax.swing.JMenu("File");
javax.swing.JMenuBar bar = new javax.swing.JMenuBar();
f.setJMenuBar( bar );
//menu.setMnemonic( java.awt.event.KeyEvent.VK_F ); // menu kommer
først
bar.add( menu );
//menu.setMnemonic( java.awt.event.KeyEvent.VK_F ); // Button kommer
først
menu.addMenuListener
(
new javax.swing.event.MenuListener()
{
public void menuSelected( javax.swing.event.MenuEvent e )
{
System.out.println( e.getSource() );
new Exception().printStackTrace();
}
public void menuCanceled( javax.swing.event.MenuEvent e )
{}
public void menuDeselected( javax.swing.event.MenuEvent e )
{}
}
);
javax.swing.JButton button = new javax.swing.JButton("Farvel");
button.setMnemonic( java.awt.event.KeyEvent.VK_F );
//button.setVisible( false ); // ikke-visible håndterer ikke noget
button.addActionListener
(
new java.awt.event.ActionListener()
{
public void actionPerformed( java.awt.event.ActionEvent e )
{
System.out.println( e.getSource() );
new Exception().printStackTrace();
}
}
);
f.add( button );
f.pack();
f.show();
}
}
Ulrik Magnusson
Søg
Alle emner
Teknologi
Udvikling
Java
Indstillinger
Spørgsmål
Tips
Usenet
Reklame
Statistik
Spørgsmål :
177580
Tips :
31968
Nyheder :
719565
Indlæg :
6409083
Brugere :
218888
Månedens bedste
Årets bedste
Sidste års bedste
Copyright © 2000-2024 kandu.dk. Alle rettigheder forbeholdes.