[Java] Hoe de default font grote veranderen *

Pagina: 1
Acties:

  • tyball
  • Registratie: December 2000
  • Laatst online: 31-07 14:32
Waar kan ik de default font grote veranderen. Het probleem is dat als ik in runtime van lookandfeel verander de letters allemaal heel klein worden. Dus ik denk dat het ergens in de lookandfeel class zit, of system properties.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Kijk eens naar javax.swing.UIManager als je alle componenten van een bepaald type wilt aanpassen. Je moet dan wel even de goede keys weten.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • tyball
  • Registratie: December 2000
  • Laatst online: 31-07 14:32
En hoe weet ik welke key dat is er zijn een paar honderd of zo in UIManager.getDefaults().keys().

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Weer even Java ervoor :) .

Ik zal even kijken wat die keys zijn...

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Op mijn zoektocht naar een key kwam ik dit tegen.... Dit vind je misschien ook wel leuk :) .

Dit is een MetalTheme implementatie die een volledige coup pleegt op de fonts in Swing. Even aanpassen naar je smaak en je bent klaar :) .

Maar ik zal nog ff verder zoeken naar de keys ;) .
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package org.pandoramix.gui;

import java.awt.Font;
import java.awt.Insets;
import javax.swing.plaf.FontUIResource;
import javax.swing.plaf.metal.DefaultMetalTheme;
import javax.swing.UIManager;

public class PandoramixMetalTheme extends DefaultMetalTheme
{
    private FontUIResource _controlFont;
    private FontUIResource _systemFont;
    private FontUIResource _userFont;
    private FontUIResource _smallFont;

    public String getName()
    {
        return "Pandoramix Elegance";
    }

    public PandoramixMetalTheme()
    {
        super();
        UIManager.put("TextField.margin", new Insets(2,2,2,2));
        Font font        = new Font("Lucida Sans Regular", Font.PLAIN, 12);

        _controlFont    = new FontUIResource(font);
        _systemFont     = new FontUIResource(font);
        _userFont       = new FontUIResource(font);
        _smallFont      = new FontUIResource(font);
    }

    public FontUIResource getControlTextFont()
    { 
        return _controlFont;
    }

    public FontUIResource getSystemTextFont()
    { 
        return _systemFont;
    }

    public FontUIResource getUserTextFont()
    { 
        return _userFont;
    }

    public FontUIResource getMenuTextFont() 
    { 
        return getControlTextFont();
    }

    public FontUIResource getWindowTitleFont()
    { 
        return getControlTextFont();
    }

    public FontUIResource getSubTextFont() 
    { 
        return _smallFont;
    }   
}

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Gevonden:

"TextField.font"
"Label.font"

etc... dus de Swing component naam zonder J + .font :) .

Overigens de theme aanpak misschien wel mooier :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • tyball
  • Registratie: December 2000
  • Laatst online: 31-07 14:32
Ah dank je wel.

  • tyball
  • Registratie: December 2000
  • Laatst online: 31-07 14:32
Hoe maak ik handig een font aan die gelijk is aan-->

UIManager.getFont("TextField.font") maar alleen wat groter? Of hoe verander ik de grote van de letters in dit font.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
tyball: Hoe maak ik handig een font aan die gelijk is aan...
In beetje in de API docs neuzen kan geen kwaad...

(1) Kijk eens naar de Font constructor: die kan een Map van attributes meekrijgen.
(2) Een Font heeft ook een methode getAttributes()...
(3) Een Map kan je aanpassen....

1 + 2 + 3 = een nieuw Font :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • tyball
  • Registratie: December 2000
  • Laatst online: 31-07 14:32
Moest even snel . Ik moet het morgen af hebben me java project.
Pagina: 1