Avatar billede heine112 Nybegynder
18. januar 2006 - 23:09 Der er 6 kommentarer og
1 løsning

Font size og swing

Hej

Jeg har programmeret en java-applikation, som benytter Swing.

Kender du et trick, som kan ændre font-størrelsen i hele applikationen (i alle Jlabels, JTextFields, JTables, ...)?

Jeg tænker på, at brugeren kunne vælge font-størrelsen i et menu-punkt, og at hele applikationen indstiller sig efter dette valg.

(Jeg har fået et par klager over, at "der bruges for små bogstaver")...


mvh Heine
Avatar billede mikkelbm Nybegynder
18. januar 2006 - 23:13 #1
En metode jeg har brugt et par gange:

Object[] objs = UIManager.getLookAndFeel().getDefaults().keySet().toArray();
for (int i = 0; i < objs.length; i++)
{
    if (objs[i].toString().toUpperCase().indexOf(".FONT") != -1)
    {
        Font font = new Font("Arial", Font.PLAIN, 11);
        UIManager.put(objs[i], new FontUIResource(font));
    }
}
Avatar billede mikkelbm Nybegynder
18. januar 2006 - 23:14 #2
Jeg har så kun brugt den ved programopstart, og har derfor ikke skiftet løbende. Men ovenstående virker.
Avatar billede heine112 Nybegynder
18. januar 2006 - 23:39 #3
Hej mikkelbm
Der er et par problemer: Størrelsen ændres ikke i JTable, menupunkter samt i titler i dialoger/frames.

mvh Heine
Avatar billede heine112 Nybegynder
18. januar 2006 - 23:51 #4
Men det virker, hvis linierne indlæses ved programopstart...

//heine
Avatar billede mikkelbm Nybegynder
19. januar 2006 - 08:29 #5
Hmmm... Det var som om mit indlæg forsvandt ud i den blå luft, så jeg prøver igen:

Hvad hvis du efter den stump kode laver følgende kald:

SwingUtilities.updateComponentTreeUI(dinMainFrame/ditMainPanel);
Avatar billede heine112 Nybegynder
19. januar 2006 - 15:14 #6
Hej Mikkelbm
Smid et svar - det virker fint.
MVH Heine
Avatar billede mikkelbm Nybegynder
19. januar 2006 - 15:16 #7
Kommer her...
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