JFrame + JNA/aero modul - GUI Elemente so möglich?

markus99

Bekanntes Mitglied
Hallo!

Ich habe hier ein Snippet gepostet: http://www.java-forum.org/codeschnipsel-u-projekte/135940-snippet-java-gui-windows-7-aero-glas.html

Damit lässt sich praktisch die dwm nutzen, um die typische vista/w7 optik in Form von Transparenz auf ein komplettes Fenster zu verwenden.

Und genau hier endet auch schon meine Faszination - es lassen sich keine Java Elemente damit nutzen.
Egal was ich darauf erstelle, es beeinflusst das komplette Fenster und macht es weiß/systemcolor.

Nun meine Frage: Wie könnte man es doch nutzen?
Könnte man theoretisch ein zweites Fenster darüberlegen und dieses mit Java-Mitteln komplett transparent machen (das funktioniert alleine)?

Oder gibt es auf den ersten und zweiten Blick eine Möglichkeit dies anders zu lösen?
Ich erstelle diese Anwendung nur für mich, insofern käme sie auch nur auf w7 zum Einsatz.

Liebe Grüße,
Markus :)
 

markus99

Bekanntes Mitglied
So sieht das Ganze unberührt aus:
9763jlhm.png



und so nachdem ein Element hinzugefügt wurde:
44xzjivi.png


Liegt es nur am Aktualisieren? Repaint funktioniert hier leider nicht.
 

steffomio

Mitglied
Obwohl ich davon nichts verstehe,
sieht es so aus, als ob da ein JPanel (wo der Button drin ist) breit gezogen wird.
Ich würde jetzt versuchen, alle eingefügten Elemete mit einem Ramen zu versehen, damit man erkennen kann, wo dessen Grenzen sind.
Vielleicht wird ja auch ein JPanel automatisch eingefügt.
Dann würde ich mit den Layouts experimentieren, z.B. GridBagLayout ist viel versprechend, oder untersuchen, ob Elemente opaque sind und auch damit experimentieren.
 

markus99

Bekanntes Mitglied
Das wird unausweichlich daran liegen, dass ich das Snippet "sauber" zur Verfügung gestellt habe.
Versuch es doch einmal, füge einen Button (o.a.) hinzu.

Das JFrame wird sofort im ("main rectangle") Bereich Weiß und refresht sich nicht mehr zurück.

Schade dass es hierzu kaum Interesse gibt!
Wenn man sich nur auf Windows konzentriert wäre dieses optische "Gimmick" für viele Tools eine sehr willkommene Erweiterung.
 

GUI-Programmer

Top Contributor
Doch doch Interesse gibts schon! Habe jetzt schon die ganze Zeit gegoogelt und getestet und neues probiert, etc. Aber anscheinend ist da wohl was fehlerhaft bei jna implementiert (oder wir alle zu unfähig!). Auch ich konnte es nicht erreichen...
 

markus99

Bekanntes Mitglied
Eine Lösung habe ich bestimmt, aber die ist ziemlich dreckig.

Also
Ansatz 1:
Einfach ein zweites JFrame/JPanel darüber legen und transparent schalten.
Beim Verschieben (oder wenn Vollbild gewünscht beim Maximieren) kann man die Elemente auf dem zweiten Frame/Panel verschieben, wobei der Frame/Panel selbst weiterhin transparent bleibt.

Das muss so funktionieren, wenn schon nicht sauber.
Und wesentlich mehr fressen sollte es auch nicht.


Sollte diese Idee komplett unmöglich werden, so habe ich mir was anderes überlegt.
Auf meiner Suche der künstlichen Transparenz fiel mit auch der Weg des "Snap and Map" vor die Füße.

Ansatz 2:
Dort wird, sofern sich das Fenster bewegt - der sichtbare Hintergrund des Fensters "gecache't" und live bearbeitet um eine Pseudo-Transparenz zu erstellen.
Dieser Ansatz + 30min Photoshop würde im Ergebnis identisch aussehen, aber natürlich auch viel mehr Leistung fressen.

So oder so - "ich will" :)
 

markus99

Bekanntes Mitglied
Ich hab von gestern auf heute durch gemacht um das irgendwie zu realisieren, + bis vor ner halben Stunde in der Uni gewesen.
-> Bin aktuell übelst ausgelaugt. Den zweiten Ansatz würde ich wirklich erst angehen wenn der erste unnöglich ist.

Selbstverständlich wäre ich froh, dass wenn du erfolgreich bist - du uns an deiner Lösung teilhaben lässt (vorwiegend in der Code Snippets Sektion). Natürlich ist dies kein "muss", der Ausgangscode untersteht meines Wissens nach keiner Lizenz.
 

GUI-Programmer

Top Contributor
Ok, hier ist der Ansatz 1 umgesetzt. Ist bestimmt noch verbesserungsfähig, aber für den Anfang reichts:

Aero.java:
Java:
import javax.swing.JComponent;
import javax.swing.JFrame;

import com.sun.jna.Function;
import com.sun.jna.Native;
import com.sun.jna.NativeLibrary;
import com.sun.jna.Structure;
import com.sun.jna.platform.win32.WinDef.HWND;
import com.sun.jna.platform.win32.WinNT.HRESULT;

/**
 * Class Aero
 * 
 * @author ex0b1t
 */
public class Aero {

    public void enableAeroEffect(JFrame frame) {        

        NativeLibrary dwmapi = NativeLibrary.getInstance("dwmapi");
        HWND aeroFrameHWND = new HWND(Native.getWindowPointer(frame));

        MARGINS margins = new MARGINS();
        margins.cxLeftWidth = -1;
        margins.cxRightWidth = -1;
        margins.cyBottomHeight = -1;
        margins.cyTopHeight = -1;

        Function extendFrameIntoClientArea = dwmapi
                .getFunction("DwmExtendFrameIntoClientArea");
        HRESULT result = (HRESULT) extendFrameIntoClientArea.invoke(
                HRESULT.class, new Object[] { aeroFrameHWND, margins });
        if (result.intValue() != 0)
            System.err.println("Call to DwmExtendFrameIntoClientArea failed.");

        frame.getRootPane().setDoubleBuffered(false);
        frame.getRootPane().setOpaque(false);

        if (frame.getRootPane().getContentPane() instanceof JComponent) {
            JComponent content = (JComponent) frame.getRootPane().getContentPane();
            content.setOpaque(false);
            content.setDoubleBuffered(false);
        }       
    }

    /**
     * @author ex0b1t
     *
     */
    public class MARGINS extends Structure implements Structure.ByReference {
        public int cxLeftWidth;
        public int cxRightWidth;
        public int cyTopHeight;
        public int cyBottomHeight;
    }   
}

MediaManager.java:
Java:
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowStateListener;
import javax.swing.JDialog;
import javax.swing.JFrame;

/**
 * Class MediaManager
 * 
 * @author ex0b1t, GUI-Programmer
 */
public class MediaManager extends JFrame implements ComponentListener, FocusListener, WindowStateListener {

    private static final long serialVersionUID = -8440221168382362270L;
    private DialogFocuser dialogFocuser;
    private JDialog dialogContent;

    public MediaManager() {
    	dialogFocuser = new DialogFocuser();
    	dialogFocuser.start();
    	
    	dialogContent = new JDialog();
        dialogContent.setUndecorated(true);
        dialogContent.setBackground(new Color(0, 0, 0, 0));
        dialogContent.getRootPane().setOpaque(false);
        dialogContent.setVisible(true);
    	
        setTitle("Media Manager");
        setSize(800, 600);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        getContentPane().setLayout(new GridBagLayout());
        addComponentListener(this);
        addFocusListener(this);
        addWindowStateListener(this);
    }
    
    // Methoden (überschriebene)
    @Override
    public void setLocation(Point p) {
    	super.setLocation(p);
    	Insets insets = getInsets();
    	if(dialogContent != null) {
    		dialogContent.setLocation(p.x+insets.left, p.y+insets.top);
    		dialogContent.validate();
    		dialogContent.repaint();
    		dialogContent.requestFocus();
    	}
    }
    
    @Override
    public void setLocation(int x, int y) {
    	super.setLocation(x, y);
    	Insets insets = getInsets();
    	if(dialogContent != null) {
    		dialogContent.setLocation(x+insets.left, y+insets.top);
    		dialogContent.validate();
    		dialogContent.repaint();
    		dialogContent.requestFocus();
    	}
    }
    
    @Override
    public void setSize(Dimension size) {
    	super.setSize(size);
    	Insets insets = getInsets();
    	if(dialogContent != null) {
    		dialogContent.setSize(size.width-insets.left-insets.right, size.height-insets.top-insets.bottom);
    		dialogContent.validate();
    		dialogContent.repaint();
    	}
    }
    
    @Override
    public void setSize(int width, int height) {
    	super.setSize(width, height);
    	Insets insets = getInsets();
    	if(dialogContent != null) {
    		dialogContent.setSize(width-insets.left-insets.right, height-insets.top-insets.bottom);
    		dialogContent.validate();
    		dialogContent.repaint();
    	}
    }
    
    @Override
    public void setBounds(Rectangle bounds) {
    	super.setBounds(bounds);
    	Insets insets = getInsets();
    	
    	Rectangle r = new Rectangle();
    	r.x = bounds.x+insets.left;
    	r.y = bounds.y+insets.top;
    	r.width = bounds.width-insets.left-insets.right;
    	r.height = bounds.height-insets.top-insets.bottom;
    	if(dialogContent != null) {
    		dialogContent.setBounds(r);
    		dialogContent.validate();
    		dialogContent.repaint();
    	}
    }
    
    @Override
    public void setBounds(int x, int y, int width, int height) {
    	super.setBounds(x, y, width, height);
    	Insets insets = getInsets();
    	
    	Rectangle r = new Rectangle();
    	r.x = x+insets.left;
    	r.y = y+insets.top;
    	r.width = width-insets.left-insets.right;
    	r.height = height-insets.top-insets.bottom;
    	if(dialogContent != null) {
    		dialogContent.setBounds(r.x, r.y, r.width, r.height);
    		dialogContent.validate();
    		dialogContent.repaint();
    	}
    }
    
    @Override
    public Dimension getSize() {
    	Dimension size = super.getSize();
    	if(dialogContent != null) {
    		dialogContent.setSize(getContentPane().getSize());
    		dialogContent.validate();
    		dialogContent.repaint();
    	}
    	return size;
    }
    
    @Override
    public Point getLocation() {
    	Point location = super.getLocation();
    	Insets insets = getInsets();
    	if(dialogContent != null) {
    		dialogContent.setLocation(location.x+insets.left, location.y+insets.top);
    		dialogContent.validate();
    		dialogContent.repaint();
    	}
    	return location;
    }
    
    @Override
    public Rectangle getBounds() {
    	Rectangle bounds = super.getBounds();
    	Insets insets = getInsets();
    	if(dialogContent != null) {
    		dialogContent.setBounds(bounds.x+insets.left, bounds.y+insets.top, getContentPane().getSize().width, getContentPane().getSize().height);
    		dialogContent.validate();
    		dialogContent.repaint();
    	}
    	return bounds;
    }
    
    @Override
    public int getX() {
    	return getLocation().x;
    }
    
    @Override
    public int getY() {
    	return getLocation().y;
    }
    
    @Override
    public int getWidth() {
    	return getSize().width;
    }
    
    @Override
    public int getHeight() {
    	return getSize().height;
    }
    
    @Override
    public void setExtendedState(int state) {
    	super.setExtendedState(state);
    	if(dialogContent != null) {
    		if(state == JFrame.ICONIFIED) {
    			dialogContent.setVisible(false);
    		} else {
    			if(!dialogContent.isVisible()) dialogContent.setVisible(true);
    			dialogContent.requestFocus();
    		}
		}
    }
    
    @Override
    public void setState(int state) {
    	super.setState(state);
    	if(dialogContent != null) {
    		if(state == JFrame.ICONIFIED) {
    			dialogContent.setVisible(false);
    		} else {
    			if(!dialogContent.isVisible()) dialogContent.setVisible(true);
    			dialogContent.requestFocus();
    		}
		}
    }
    
    
    // Methoden um die ContentPane des Dialoges zu ändern
    
    public Container getContent() {
    	return dialogContent.getContentPane();
    }
    
    public void setContent(Container content) {
    	dialogContent.setContentPane(content);
    }

    
    // Listener-Methoden
    
	@Override
	public void componentHidden(ComponentEvent evt) { }

	@Override
	public void componentMoved(ComponentEvent evt) {
		if(dialogContent != null) {
			getLocation();
		}
	}

	@Override
	public void componentResized(ComponentEvent evt) {
		if(dialogContent != null) {
			getSize();
		}
	}

	@Override
	public void componentShown(ComponentEvent evt) { }


	@Override
	public void focusGained(FocusEvent arg0) {
		if(dialogContent != null) {
			dialogContent.requestFocus();
		}
	}

	@Override
	public void focusLost(FocusEvent arg0) { }


	@Override
	public void windowStateChanged(WindowEvent evt) {
		if(dialogContent != null) {
    		if(evt.getNewState() == JFrame.ICONIFIED) {
    			dialogContent.setVisible(false);
    		} else {
    			dialogFocuser.setStarted(true);
    		}
		}
	}
	
	/**
	 * Class DialogFocuser
	 */
	private class DialogFocuser extends Thread {
		private boolean started = false;
		
		public synchronized boolean isStarted() {
			return started;
		}

		public synchronized void setStarted(boolean started) {
			this.started = started;
			if(started) notify();
		}

		public void run() {
			while(true) {
				if(isStarted()) {
					for(int i=0; i<100; i++) {
						if(isShowing() && isVisible() && isActive() && hasFocus() && isValid()) {
							EventQueue.invokeLater(new Runnable() {
								public void run() {
									if(dialogContent != null) {
										if(!dialogContent.isVisible()) dialogContent.setVisible(true);
										dialogContent.requestFocus();
									}
								}
							});
			    			setStarted(false);
			    			break;
						}
						try {
							Thread.sleep(10);
						} catch(InterruptedException ex) {
							ex.printStackTrace();
						}
					}
				} else {
					synchronized(DialogFocuser.this) {
						try {
							wait();
						} catch(InterruptedException ex) {
							interrupt();
						}
					}
				}
			}
		}
	}
	
}

Und noch ne Klasse zum Testen - AeroTester.java:
Java:
import java.awt.EventQueue;
import java.awt.GridBagLayout;
import javax.swing.JButton;
import javax.swing.JFrame;

public class AeroTester {
	
    /**
     * @param args
     */
    public static void main(String[]args){
    	EventQueue.invokeLater(new Runnable() {
    		public void run() {
    			MediaManager mediamanager = new MediaManager();
    			mediamanager.getContent().setLayout(new GridBagLayout());
    			mediamanager.getContent().add(new JButton("Test Button"));
    	        mediamanager.setVisible(true);
    	        new Aero().enableAeroEffect(mediamanager);  
    	        mediamanager.repaint();
    	        
    	        mediamanager.setExtendedState(JFrame.ICONIFIED);
    	        mediamanager.setExtendedState(JFrame.NORMAL);
    		}
    	});
    }
    
}

Wie bereits erwähnt sollte/kann diese Klasse noch weiter angepasst werden. Desweiteren besteht zum einen das kleine Problem, dass wenn der JFrame von dem Zustand ICONFIED zurück zu einem anderen Zustand wechslet, der Innere JDialog schon ein paar Millisekunden zu bald erscheint. Meine ThreadKlasse versucht dies zwar zu verhinden, scheitert bzw. verzörgt jedoch diesen Vorgang meist nur.

@ markus99: Wenn du möchest kannst du ruhig den Code in Code Snippets Sektion einfügen.

Hier mal ein noch ein Bild, wie das Ganze dann bei mir ausschaut:
AeroManager.png
 
Zuletzt bearbeitet:

markus99

Bekanntes Mitglied
Du machst deinem Nick wirklich alle Ehre!

Der visuelle Unterschied liegt übrigens beim Fokus.
Nimmt man das plain Snippet und klickt es in den sichtbaren Hintergrund, so sieht es aus wie dein Meisterwerk.
Also nur noch diese Kleinigkeit, dann kann man von Perfektion sprechen! :)

Edit: Beim optischen Initialisieren wird 4-5 mal refresht oder?

Ich hätte das mit meinen Kenntnissen nie geschaft.
 
Zuletzt bearbeitet:

markus99

Bekanntes Mitglied
Klar!
Also der minimale Unterschied zum ursprünglichen Transparent-bläulichen Snippet (Screenshot oben) ist einfach nur der Fokus.
Nimmst du das unveränderte Snippet und startest es, so ist es Blau/Transparent. Klickst du nun auf die Taskleiste/ein anderes Fenster, so verliert der Dialog den Fokus und wechselt in das "nicht-blaue" Transparent.

Sieh dir einfach im Zweiten Beitrag das erste Bild an, das ist blau, also mit Fokus.

Ich bin so mies im Erklären :)
 

GUI-Programmer

Top Contributor
Achso, verstanden. Das heißt jetzt aber auch, dass es an meinen Code dazu nichts zu verbessern gibt, oder? War also nur sone Schlussfolgenderung/Gedankenblitzt wie von mir gerade.
 

markus99

Bekanntes Mitglied
Ach, verschlimmbessern kann man immer!
Für ganz pingelige Tage könnte man beim Initialisieren die Durchgänge reduzieren (flackert ~5 mal).

Aber ganz ehrlich? Das ist schon mehr als ich mir erhofft hatte :)

Edit:
Beim Aktualisieren wechselt das Fenster ganz kurz auf den aktiven Fokus!
Zu merken am Roten AERO Close-Button, welcher ohne Fokus nur Transparent und nicht farbig ist.

Edit2:
Der "addFocusListener" verhindert, dass das eigentliche Fenster nach Vorne kommt. Kommentiert man ihn aus, dann sieht man exakt wesshalb das vordere Element nicht blau sondern nur weiß/transparent ist!

Das Problem ist, dass das hintere Element immer "inaktiv" ist, weil das Vordere dieses verdeckt.
Doch irgendwie hast du das auch so implementiert. Mit setAlwaysOnTop(true); rückt das hintere Fenster nach Vorne und verdeckt alle Button-Elemente - trotzdem bleibt es inaktiv!
 
Zuletzt bearbeitet:

markus99

Bekanntes Mitglied
Wow ausgezeichnet!
Glaubst du es wäre doch noch möglich das hintere Fenster dauerhaft visuell aktiv darzustellen?
Es ist immer noch weiß-transparent, nicht blau-transparent.

Bis hierhin danke ich dir vielmals für deine Arbeit/Hilfe, es ist auch jetzt schon sehr brauchbar!
 

GUI-Programmer

Top Contributor
markus99 hat gesagt.:
Glaubst du es wäre doch noch möglich das hintere Fenster dauerhaft visuell aktiv darzustellen?

Also wenn du damit die Wirkung der Methode
Code:
setAlwaysOnTop(boolean alwaysOnTop);
meinst - ja, ist möglich, habe ich soeben noch hinzugefügt, allerdings nicht "so sauber", da man diese Methode, da sie
Code:
final
ist nicht überschreiben kann. Daher habe ich einen Thread erstellt, der alle 100 Millisekunden prüft, ob das JFrame alwaysOnTop ist, und umgekehrt und dementsprechend den JDialog auch alwaysOnTop bzw. nicht alwaysOnTop setzt. Der Link ist der gleiche wie oben (da Dropbox - Public Folder).

markus99 hat gesagt.:
Es ist immer noch weiß-transparent, nicht blau-transparent.

Normalerweise sollte es in der Farbe transparent sein, wie auch alles anderen Fenster bei Windows 7 transparent sind - sprich wenn du das bei Windows 7 einstellst (man könnte es bspw. auch deckend oder gar rot machen), dann sollte auch das AeroFrame so aussehen. Falls nicht, dan liegt es möglicherweise an einer fehlerhaften jna Implementierung oder man muss es selbst im Programm über die jna Funktionen einstellen, was ich persönlich für sinnlos halten würde.

[EDIT]
Der Code wurde soeben (15:37) der .jar hinzugefügt.
[/EDIT]
 
Zuletzt bearbeitet:

markus99

Bekanntes Mitglied
a6q668dm.png


Links ist das Snippet, welches ich ganz am Anfang in der Snippet-Sektion gepostet hatte.
Rechts ist die Umsetzung, sie wird bei mir nur für einen Bruchteil einer Sekunde so wie das linke Beispiel (z.b. bei Dauer-Rechtsklicl auf das "Titelmenü".

In der aktuellen von dir geposteten jar fehlt leider die Source :)
 

GUI-Programmer

Top Contributor
Ok, hab das Problem verstanden. Ist mir nur nich aufgefallen, da ich eh die maximale Transparenz bei mir eingestellt habe. Allerdings bin ich mir auch leider ziemlich sicher, dass das mit den Farbe beim Fokus nicht geht, da durch meine Implementierung immer gewährleistet ist, dass falls des JFrame einmal den Fokus bekommt, der Fokus sofort verloren geht - und somit auch die "Fokus-Farbvorhebung" - da ja der JDialog sofort den Fokus bekommt, was ja nun mal sehr wichtig ist, damit eben Komponenten korrekt mit Aero Effekt benutzt werden können - der Hauptgrund für mein Konstrukt.

Denn diese Fokus-Hervorhebungsgeschichte ist nunmal Windows - spezifisch, vor allem beim Aero Effekt.
 

markus99

Bekanntes Mitglied
Mh das hab ich mir fast schon gedacht, sehr schade.
Ich würdige deine Arbeit - und werde dich natürlich auch fragen ob ich diese verwenden darf!

Aber bis dahin versuche ich erst noch GUI-Elemente wie oben diesen JButton ohne Fenster zu zeichnen, vielleicht gibt es hier schon Ansätze.
 

GUI-Programmer

Top Contributor
Ich würdige deine Arbeit - und werde dich natürlich auch fragen ob ich diese verwenden darf!

Vielen Dank! - Und ja, du darfst sie selbsverständlich verwenden und wie bereits erwähnt auch erweitern.


Vielleicht wird ja irgendwann mal die jna Library verbessert, sodass der Umweg über den JDialog nicht mehr benötigt wird. Denn mal ganz ehrlich: Das war deine Idee, und die war auch wirklich ganz gut - meine Umsetztung natürlich auch, ABER trozdem bleibt das natürlich immernoch "Diry Code" - Also Aufruf an die jna Entwickler: Verbessert euer Werk bitte! - DANKE
 
T

trag

Gast
Lese dir den Thread ganz durch. Du wirst feststellen, dass unser Werk daher entstanden ist, dass es ganz normal mit jna nicht möglich ist den Aero Effekt einzusetzen und noch Komponenten hinzuzufügen.
Du hast nicht verstanden was JNA ist, oder? Problem hat doch absolut nada mit JNA zu tun. Mit JNA kann ich native Funktionen aufrufen, und das klappt doch wunderbar, wo ist da nun der Bug? Was hat JNA mit irgendwelchen Frames, Dialogs oder Swing Komponenten zu tun? JNA ist nicht daran schuld, wenn ich mir nicht die Dokumentation der Funktionen durchlese, die ich aufrufe.
Dass das ganze auch wunderbar funktioniert sobald man es richtig macht kannst du ja hier begutachten:
http://www.java-forum.org/awt-swing...n-normal-mouseover-transparentem-jwindow.html
^ Weitere Diskussionen am besten dort.
 
Q

qweasdqwe

Gast
Das ist ja nur ein screenshot der gezeichnet wird, wenn ich das frame bewege dann passt das angeblich transparente nicht mehr mit dem wirklich darunter liegendem ?!

oder fehlt mir hier noch eine api oder was^^
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Mehrere Panels auf JFrame AWT, Swing, JavaFX & SWT 8
M Seltsame Exception bei setVisible(true) Methode in einem JFrame AWT, Swing, JavaFX & SWT 2
Paty JFrame anfänger bräuchte hilfestellung AWT, Swing, JavaFX & SWT 7
Apfelbaum2005 Swing JFrame mehrere JPanels mit unterschiedlichen Formen hinzufügen AWT, Swing, JavaFX & SWT 1
N AWT JPanel zu Jframe hinzufügen AWT, Swing, JavaFX & SWT 2
Mausposition relativ zu JFrame bekommen AWT, Swing, JavaFX & SWT 6
sserio JFrame setIconImmage() funktioniert nicht AWT, Swing, JavaFX & SWT 3
N CPU Belastung bei offenem JFrame auf fast 100% AWT, Swing, JavaFX & SWT 15
N Knopf ganz oben (JFrame) AWT, Swing, JavaFX & SWT 9
N JFrame löscht alles, wenn groß gemacht AWT, Swing, JavaFX & SWT 9
N jFrame löscht am Ende des Threads alles AWT, Swing, JavaFX & SWT 2
N JFrame loescht alles, sobald der Thread zuende ist AWT, Swing, JavaFX & SWT 22
E JFrame resizing AWT, Swing, JavaFX & SWT 2
E Swing Mausposition auf einem JFrame erkennen AWT, Swing, JavaFX & SWT 5
Lunar Swing JFrame erstellt; weitere Elemente werden nicht eingefügt/sind nicht zu sehen AWT, Swing, JavaFX & SWT 4
L JFrame Gui in anderer Methode aufrufen AWT, Swing, JavaFX & SWT 0
H Beim JFrame erstellen ein anderes schließen AWT, Swing, JavaFX & SWT 0
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
H Tabelle in JFrame einfügen AWT, Swing, JavaFX & SWT 1
VPChief Ein JFrame ohne setUndecorated(true); nicht verschiebbar machen. AWT, Swing, JavaFX & SWT 6
R Swing Hat mein JFrame meinen Component? AWT, Swing, JavaFX & SWT 2
R Swing Design des oberen Balkens in JFrame AWT, Swing, JavaFX & SWT 2
B KeyListener auf JFrame reagiert nicht AWT, Swing, JavaFX & SWT 8
R Swing Komponente im JFrame überschreinen sich AWT, Swing, JavaFX & SWT 7
R Swing Ein gezeichneten String aus dem JFrame löschen AWT, Swing, JavaFX & SWT 5
J Exception beim JFrame erstellen AWT, Swing, JavaFX & SWT 6
T JFrame aktualisieren AWT, Swing, JavaFX & SWT 2
T Bilder bei einem JFrame einfügen AWT, Swing, JavaFX & SWT 4
R Swing Background Image in JFrame implementieren AWT, Swing, JavaFX & SWT 40
L Verbindung von Code und JFrame AWT, Swing, JavaFX & SWT 4
L JFrame wird zu klein erstellt AWT, Swing, JavaFX & SWT 7
dereki2000 Swing JFrame nah hinzufügen von Komponenten akualisieren. AWT, Swing, JavaFX & SWT 2
T JFrame Bild einfügen AWT, Swing, JavaFX & SWT 9
T JavaFX JFrame verhalten wie JOptionPane (ErrorMessage) AWT, Swing, JavaFX & SWT 1
T LookAndFeel LookAndFeel funktioniert nicht beim JFrame wechsel AWT, Swing, JavaFX & SWT 3
P Swing Mehrere JPanels auf ein JFrame hinzufügen? AWT, Swing, JavaFX & SWT 2
F JFrame zeigt nicht alle Elemente auf anhieb an AWT, Swing, JavaFX & SWT 4
P JPanle, JFrame und Graphics AWT, Swing, JavaFX & SWT 2
T Reihenfolge der Komponenten im einem JFrame AWT, Swing, JavaFX & SWT 8
K Grafik in JFrame einpassen AWT, Swing, JavaFX & SWT 3
D Mit Jmenu neue JFrame öffnen AWT, Swing, JavaFX & SWT 2
J BackgroundJPanel passt sich dem JFrame nicht an AWT, Swing, JavaFX & SWT 7
C Swing JFrame ändert Größe AWT, Swing, JavaFX & SWT 0
J JFrame Panel hinzufügen AWT, Swing, JavaFX & SWT 10
K JFrame bei JUnit Tests AWT, Swing, JavaFX & SWT 2
W Swing Hilfe beim Einbinden von Bildern in einem JFrame AWT, Swing, JavaFX & SWT 8
D JFrame wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 1
R Swing JPanels auf JFrame auf verfügbaren Platz aufblasen AWT, Swing, JavaFX & SWT 4
JR2205 Swing JxMaps Einbindung Netbeans JFrame AWT, Swing, JavaFX & SWT 4
Zar von Domarus JFrame zu BufferedImage konvertieren AWT, Swing, JavaFX & SWT 3
K KeyListener ohne JFrame AWT, Swing, JavaFX & SWT 9
Joker4632 JFrame in eine Runnable auslagern? AWT, Swing, JavaFX & SWT 4
M Limit für JFrame-Vergrößerung AWT, Swing, JavaFX & SWT 8
GreenTeaYT Wie vergebe Ich den Jframe Title den Namen aus einem Element von der Arraylist ? AWT, Swing, JavaFX & SWT 4
MaxG. JFrame Größe ändern AWT, Swing, JavaFX & SWT 16
P Jframe Bild einfügen, Hintergrund Farbe ändern, und Button schrift Größe ändern AWT, Swing, JavaFX & SWT 2
G Swing Wenn ich mein JFrame Fenster vergrößere die Inhalte anpassen AWT, Swing, JavaFX & SWT 1
G JFrame Probleme AWT, Swing, JavaFX & SWT 2
Ghostman1711 JFrame closing AWT, Swing, JavaFX & SWT 3
R Engineklasse mit JFrame AWT, Swing, JavaFX & SWT 4
M Default-WindowListener JFrame entfernen (Stichwort: iconified) AWT, Swing, JavaFX & SWT 4
ms_cikar Jframe zurück zu frame1 AWT, Swing, JavaFX & SWT 14
C Jframe ohne Rahmen AWT, Swing, JavaFX & SWT 3
lumpigerAffe Swing Jframe aktualisieren AWT, Swing, JavaFX & SWT 27
A Swing JFrame neuzeichnen lassen, position neu berechnen lassen? AWT, Swing, JavaFX & SWT 9
R JFrame schließen AWT, Swing, JavaFX & SWT 9
P Swing JFrame minimiert sich bei Doppelklick auf die Titel-Leiste AWT, Swing, JavaFX & SWT 16
krgewb AWT JFrame soll sich wie Dialog verhalten AWT, Swing, JavaFX & SWT 9
I JFrame an Bildschirm anpassen AWT, Swing, JavaFX & SWT 1
I JFrame Bild strecken und auf Bildschirmgröße anpassen AWT, Swing, JavaFX & SWT 2
P JFrame schrumpft bei Doppelklick auf die Titelleiste AWT, Swing, JavaFX & SWT 0
G JFrame - manuell Größe verändern AWT, Swing, JavaFX & SWT 6
D JFrame mindestgröße erzwingen AWT, Swing, JavaFX & SWT 2
H Swing JFrame mit JFXPanel NPE bei dispose() AWT, Swing, JavaFX & SWT 6
C Swing Borderlayout im JFrame AWT, Swing, JavaFX & SWT 4
B JButton erscheint in JFrame, obwohl er diesem nicht zugeordnet wurde! AWT, Swing, JavaFX & SWT 1
G Swing JFrame öffnen bei Pidgin Benachrichtigung AWT, Swing, JavaFX & SWT 5
OlafHD JLabel im JFrame Zentrieren AWT, Swing, JavaFX & SWT 2
S Kein JFrame unter Mac? AWT, Swing, JavaFX & SWT 8
G Resize JFrame AWT, Swing, JavaFX & SWT 8
J Teiltransparenter JFrame mit Blur-Effekt AWT, Swing, JavaFX & SWT 2
K Bild in JFrame AWT, Swing, JavaFX & SWT 2
V JScrollPane im zur Laufzeit verändernden JFrame AWT, Swing, JavaFX & SWT 0
M NetBeans JFrame Grundlangen fragen AWT, Swing, JavaFX & SWT 6
I Neues JFrame wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 5
S JFrame -> setVisible AWT, Swing, JavaFX & SWT 3
stylegangsta Eigene Klasse für JButton aus dem JFrame abrufen AWT, Swing, JavaFX & SWT 29
I Swing JMenuBar auch unten am JFrame? AWT, Swing, JavaFX & SWT 2
K SplashScreen neben JFrame behalten AWT, Swing, JavaFX & SWT 10
F Swing JLabel in JFrame anpassen AWT, Swing, JavaFX & SWT 20
B Swing Unterteiltes JFrame mit Bild in der Mitte AWT, Swing, JavaFX & SWT 4
H Netbeans Designer: Probleme mit JPanel und JFrame AWT, Swing, JavaFX & SWT 2
T Applet Applet in JFrame einbinden AWT, Swing, JavaFX & SWT 8
V JFrame wird nicht richtig angezeigt! AWT, Swing, JavaFX & SWT 2
I JFrame neu zeichnen, nicht überzeichnen! AWT, Swing, JavaFX & SWT 2
Y Kann man Buttons in einem JFrame rund machen ? AWT, Swing, JavaFX & SWT 2
W Swing Farbige JPanels auf JFrame werden nicht gezeigt. Was mach ich falsch? AWT, Swing, JavaFX & SWT 7
Z Java Draw -JFrame finde nicht die Mitte & höhe, breite AWT, Swing, JavaFX & SWT 7
O Swing JFrame Anzeigeproblem AWT, Swing, JavaFX & SWT 2
D jButton auf von jFrame erzeugtem jDialog AWT, Swing, JavaFX & SWT 16

Ähnliche Java Themen

Neue Themen


Oben