Använd systemets look-and-feel

Ett enda kommando får ditt program att se ut som att det är skrivet för den plattform det körs på.

När man skriver ett program i Java med ett grafiskt användargränssnitt får alla komponenter (knappar, textinmatningsfält etc) man använder en viss stil, kallad "Look-and-feel". Default-värdet är en stil kallad "Metal" som är specialgjord för Java och som ser likadan ut oberoende av operativsystem. Om man istället vill att ens program ska se ut som de andra programmen på ens operativsystem kan man lägga till följande rader i sitt program:

        UIManager.setLookAndFeel(UIManager
                .getSystemLookAndFeelClassName());

Detta gör att man sätter systemets look-and-feel, dvs att ens program ser ut som ett Windows-program på en dator som kör Windows, ett Mac-program på en dator som kör MacOS, etc.

Det är viktigt att dessa rader placeras så "tidigt" som möjligt i programmets exekvering, eftersom varje komponent som skapas får den look-and-feel som är satt just när den skapas. Man bör alltså byta look-and-feel innan någon komponent kan ha hunnit skapas. Allra först i main-metoden är ett bra val. Då kan man också enkelt ta hand om de exceptions som metoden ovan riskerar att kasta:

    public static void main(String[] args)
            throws IOException,
            ClassNotFoundException,
            InstantiationException,
            IllegalAccessException,
            UnsupportedLookAndFeelException {
        UIManager.setLookAndFeel(UIManager
                .getSystemLookAndFeelClassName());
        
        ...
        
    }

Låt oss ta ett exempel. Här är ett enkelt GUI med några komponenter, dels med default-look-and-feel och dels med systemets look-and-feel på min dator som kör Windows 7:

Metal-look-and-feel
Windows-look-and-feel

Använd systemets look-and-feel

Om bloggaren

Marcus Björkander

Marcus Björkander

Schlagernörd och småbarnspappa med tvångstankar som jobbar som utvecklare på Westbahr i Göteborg. Favoritspråket är Java, som han tidigare har undervisat i vid Chalmers i många år.

 

Nyckelord/tag moln