1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Java JButton Farbe ändern

Dieses Thema im Forum "OS X-Developer" wurde erstellt von mankmil, 15.11.05.

  1. mankmil

    mankmil Gast

    Hallo

    Bin neu in der Mac Welt und möchte in Java programmieren.
    Bin grad dabei ein Damespiel zu programmieren. Auf meinem WinXP System läuft es auch schon sehr gut. Allerdings scheint die Funktion .setBackground(Color.black) nicht zu funktionieren.
    Ein Damespielfeld ist ja schwarz weiß, karriert. Hab also 64 JButtons erstellt und die dann halt mit Button.setBackground(Color.black); der entsprechende Farbe zuordnen wollen. Nur leider funzt das nicht auf dem Mac. Unter Windows ist das kein Problem.

    Ich hoffe ihr könnt mir hier helfen.

    Gruß
    mankmil
     
  2. commander

    commander Baldwins roter Pepping

    Dabei seit:
    25.02.04
    Beiträge:
    3.210
    Willkommen hier im Forum!

    Poste doch mal einen Screenshot. Wäre hilfreich.

    Das Problem mit Swing ist folgendes: Am Mac liegt unter dem Swinglayer ein Cocoalayer, wo immer möglich. das hat riesige Vorteile, aber auch einige Nachteile: Lahm, eigenwilliges Look&Feel und manche exotischen Sachen (wie Fensterleiste austauschen) gehen gar nicht.

    Ich vermute, wenn Du das Swing Look & Feel setzt, funktionierts, allerdings schaut dann die Applikation nicht mehr Maclike aus:

    Code:
    public static void main(String[] args){
    
      //Sollte als allererstes passieren
      UIManager.setLookAndFeel(new MetalLookAndFeel());
    }
    
    Allerdings ist das nur zu empfehlen, wenn Du keine Mac-typischen Features haben willst, ansonsten kannst Du natürlich auch mit den JButtons rumexperimentieren (vll komm ich morgen mal dazu) oder nur die UI .- Klasse der Buttons mainpulieren - du kannst definitiv eine eigene Implementierung dahinterhängen, das weiß ich sicher.

    Gruß,

    .commander
     
  3. mankmil

    mankmil Gast

    Danke für die schnelle Antwort.

    Würde ja gern ein Bild posten aber der Dienst Bildschirmfoto funzt irgendwie nicht. Ist alles grau hinterlegt.
    Habs jetzt hinbekommen:
    musste das aber so machen:

    try { // setzen des Look-And-Feel
    UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
    // die Oberfläche wird mit dem neuen LAF angezeigt
    SwingUtilities.updateComponentTreeUI(this);
    }
    catch (Exception e){
    System.out.println("Das Metal-Look-And-Feel kann nicht geladen werden");
    }

    Juhu danke für die Hilfe.
     
    #3 mankmil, 15.11.05
    Zuletzt von einem Moderator bearbeitet: 15.11.05

Diese Seite empfehlen