• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

Java JButton Farbe ändern

  • Ersteller mankmil
  • Erstellt am

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
 

commander

Baldwins roter Pepping
Unvergessen
Registriert
25.02.04
Beiträge
3.206
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
 

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.
 
Zuletzt bearbeitet von einem Moderator: