Transparent Buttons - unterschiedliche Java-Versionen

Status
Nicht offen für weitere Antworten.

ulr!ch

Bekanntes Mitglied
Hey java-Gemeinde,

ich möchte gerne transparent JButtons mit einem windows-look and feel kombinieren.
Geht das überhaupt?

Entweder bekommen ich einen transparenten Button ohne Windows-Stil:
java_version_1.4.1.gif

(compiliert mit Java-Version 1.4.1-b21)

Oder ich bekomme keinen transparenten Button im Windows-Stil:
java_version_1.4.2.gif

(compiliert mit Java-Version 1.4.2-04-b05)

Gibt es da irgendeine zusätzliche Libary, die man einbinden kann (mit winlaf funktioniert es auch nicht)? :-(
Bin für jeden Rat dankbar.

So long,
Ulrich[/img]
 
Hm... das dürfte mit dem verwendeten UI zusammen hängen, ob das mit der Transparenz hinhaut oder nicht und offensichtlich unterstützt das UI des Windows XP PLAF (pluggable look and feel) keine Transparenz.

Darf man fragen wozu sowas gut ist? Ich denke es hat seinen Sinn, warum mir in in 15 Jahren Arbeit am und mit dem Computer noch kein transparenter Button in einer Anwendung untergekommen ist... Naja.. vielleicht gibts auch ganz viele davon, nur sind sie alle 100% transparent? 😉
 
Hallo Alarenal,

transparente Buttons brauche ich in meiner Anwendung aus folgendem Grund:
Es gibt eine kleine sprachgebundene Instruktion über den Aufbau des Programms. Dabei wird auch auf die Buttons verwiesen, die zu diesem Zeitpunkt dreimal kurz aufleuchten sollen, damit der User weiß, von welchen Buttons die Rede ist. Ich könnte vielleicht auch ein anderes Image verwenden, dass dann eingeblendet wird. Weiß allerdings nicht, ob das zeitlich (da threads) zu Verzögerungen führt. Und zweitens bläht das den Code ungemein auf. :-(
Vielleicht hast du ja noch einen anderen Lösungsvorschlag.

Alles Gute,
Ulrich
 
Hm.. ich dneke mal so ins UNreine, hier ne Idee:

1. Du lässt deine Buttons wie gewünscht erstmal anzeigen.
2. Mit der Methode createImage() müsstest du theoretisch ein Image des Buttons erstellen können.
3. Willst du einen Button hervorheben, tauschst du ihn gegen sein Image-Icon aus, dieses kannst du ja mit Imaging Funktionen von Java manipulieren...
4. Am Ende ersetzt du das Icon wieder durch den Button.

Natürlich müsstest du auf das Icon noch den MouseHandler legen, damit auch wie gewünscht was passiert, wenn man während der Hervorhebung auf den "Button" klickt....

P.S.:
Wenn es einfach wäre, könnte es ja jeder und wer dererlei unübliche Gimmicks einbauen will, der darf keien Angst vor ein paar mehr Zeilen Quellcode haben 😉
 
Hi,

gibt es vielleicht die Möglichkeit, das Image eines JButtons (eigentlich einer JComponente) nachträglich zu ändern, ohne ihn herauszunehmen aus dem Layout und dann später wieder einzufügen.
Ich bin ein wenig aus der Programmierung raus, u. U. ist es ja ganz einfach, bloss... man kann ja nicht alles wissen. :lol:

Bis bald,
Ulrich
 
Warum änderst du nicht einfach die hintergrundfarbe des Buttons? Dann kann er in jeder beliebigen Farbe blinken, es gibt kaum Code und man kann ihn ohne MouseListener (mit ActionListener) klicken.


@alarenal:
Transparente Buttons kenn ich durchaus, z.b. aus slipstream 5000, für das Game solltest du alt genug (oder zu alt) sein, läuft noch auf MS-DOS...
 
mhm...

darum geht es ja gerade. Ich kann den Hintergrund nicht verändern oder zumindest das, was man landläufig unter Hintergrund versteht. Hier noch einmal ein Beispiel, in dem ich den Hintergrund blau setze:
hintergrund_blau.gif

(Compiliert mit Java 1.5)

???:L Aber das kann doch gar nicht sein, dass windows.plaf das nicht unterstüzt.
Ich muss doch irgendwie den Hintergrund von diesen JComponents verändern können.
Wie gesagt JComponent.setOpaque(true) ist gesetzt und dennoch kein Erfolg.
Weiß denn nieman Rat?

By<e Ulrich
 
Mittlerweile habe ich die Lösung für mein Problem gefunden und die Lösung heißt JGoodies looks. 8)
Code:
   try {
      UIManager.setLookAndFeel(
      "com.jgoodies.looks.plastic.PlasticXPLookAndFeel");
    }
    catch (Exception e) {
      System.err.println("Could not load LookAndFeel!");
    }
Wenn man dieses plaf nimmt, verschwindet das Problem mit den transparenten Hintergründen von ganz alleine.
Nachteil: Das Programm wird dann nicht mehr auf Win95-Rechnern laufen. 🙁
Also vielen Dank an alle, die sich um eine Lösung bemüht haben.

Ciao,
Ulrich
 
Also bei meinen Projekten, wo ich Bilder auf den Buttons habe, verwende ich jetzt:

Code:
jbutton.setContentAreaFilled(false);

Damit werden die Buttons wieder durchsichtig.
Ob der JButton Text sichtbar bleibt, keine Ahnung.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben