Export eines Panel mit ScrollBar

bladepit

Bekanntes Mitglied
Hallo Leute,

also ich habe folgenden Anwenungszweck. Ich habe eine Tabelle + mehrere Dendrogramme die mit der Tabelle über ScrollPanes aliniert sind. Sprich scrollt man dann scrollen die Dendrogramme mit.

Nun hat der Benutzer auch die Möglichkeit die Sachen zu exportieren. Da gibt es im ersten Schritt zwei Anwendungsfälle. Er kann alles oder einfach den aktuellen Bildschirm Inhalt exportieren.

So jetzt muss ich dazu sagen ich habe die Funktionen die kommen nicht geschrieben sondern soll diese anpassen. Ich habe diese versucht zu verstehen und auch wo der Fehler auftritt.

Folgendes Problem habe ich. Man kann die Größe des Tables ändern, was ebenfalls die Größe der Dendrogramme ändert. Diese Funktion merkt sich auch den aktuellen ScrollBar Wert für beide Achsen und Setzt diesen nachdem alle Änderungen gemacht wurden prozentual wieder hin (das stimmt meist bis auf ein bis zwei Pixel).

Das Ändern der Größe (ist eine Methode in einer Klasse die von JTable erbt):

Java:
//merken des focus in der scrollbar
scrollToFocus(cellsize,false);
//merken von cellsize
zoomfactor = cellsize;
this.setCellSize(cellsize);
//nur wenn es das linke dendrogram gibt
if(HeatMapHelper.hasyDendrogram()){
        mw.createyDendrogram(false);
	mw.showyDendrogram(mw.getLabelWidth());
}
//rechtes gibt es immer und dann werden die sachen da gemacht
mw.getxDendrogram().setCellSize(cellsize);
mw.getxDendrogram().getDendrogram().setAddValue(cellsize);
mw.showxDendrogram(mw.getxDendrogram());
//update den split zwischen den panels
mw.updateSplit();
mw.setSelectedCellSize(cellsize);
//den tableheader formatieren
formatRowHeader(forexport);
//scroll zu dem prozentuallen scrollbar wert
scrollToFoucsUpdate();
this.repaint();

Ich könnte euch hier jede Menge Zeilen posten werde dies aber erstmal nicht machen (scrollToFocus oder scrollToFocusUpdate).

Beim Export ist es so das ein Panel exportiert wird. Sprich was in dem Panel ist wird auch exportiert (als PNG z.B.). Hier ist die Export Methode:

Java:
public Component getExportPanel(boolean hm, boolean s_tree, boolean a_tree, boolean anno, boolean all, Object cellsize){
		int docell = Integer.valueOf(cellsize.toString());
		
		JPanel returnpnl = new JPanel();
		
		boolean hasDendro = HeatMapHelper.hasyDendrogram();
		
		//change cellsize for table and all other components
		int tableHeight = table.getHeight();
		int headerHeight = table.getTableHeader().getHeight();
		oldAssayHeight = assaySplit.getDividerLocation();
		
		fontexport = new Font("Dialog",Font.BOLD,Table.getCellSize());
		oldCellSize = Table.getCellSize();
		table.performCellSize(docell,true);
		table.repaint();
		
		if(all){	

			//build returnpnl which is the panel with the export components
			JPanel northPanel = null;
			JPanel centerPanel = null;
			JPanel mapPanel = null;
			
			returnpnl = new JPanel();
			returnpnl.setLayout(new BoxLayout(returnpnl, BoxLayout.PAGE_AXIS));
			
			//decision for layout
			if(s_tree && !anno && !hm && !a_tree){
				returnpnl.setLayout(new FlowLayout(FlowLayout.LEFT,0,0));
			}else if(a_tree && !s_tree && !anno && !hm){
				returnpnl.setLayout(new FlowLayout(FlowLayout.LEFT,0,0));
			}
	
			xDendrogram xDendroTmp = (xDendrogram) xDendrogram.clone();
			int fixedTblHeight = table.getRowHeader().getHeight();
			int fixedTblWidth = table.getRowHeader().getWidth();
			tableOld = table.getParent();
			rowHeaderOld = table.getRowHeader().getParent();
			rowHeaderHeaderOld = table.getRowHeader().getTableHeader().getParent();
			yDendrogram yDendroTmp = (yDendrogram) yDendrogram.clone();
			
			if(a_tree){
				northPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT,0,0));
				northPanel.add(xDendroTmp.getDendrogram());
			}
			
			table.getRowHeader().setAlignmentY(Component.TOP_ALIGNMENT);
			table.getRowHeader().setAlignmentX(Component.LEFT_ALIGNMENT);
			table.setAlignmentY(Component.TOP_ALIGNMENT);
			table.setAlignmentX(Component.RIGHT_ALIGNMENT);
			
			if (s_tree){
				yDendroTmp.getDendrogram().setAlignmentY(Component.TOP_ALIGNMENT);
				mapPanel = new JPanel();
				if(hm || anno) mapPanel.setLayout(new BoxLayout(mapPanel, BoxLayout.LINE_AXIS));
				else{
					mapPanel.setLayout(new FlowLayout(FlowLayout.RIGHT,0,0));
				}
				Dimension d = new Dimension(yDendroTmp.getDendrogram().getWidth()+2, yDendroTmp.getDendrogram().getHeight());
				yDendroTmp.getDendrogram().setSize(d);
				yDendroTmp.getDendrogram().setPreferredSize(d);
				yDendroTmp.getDendrogram().setMaximumSize(d);
				yDendroTmp.getDendrogram().setMinimumSize(d);
				yDendroTmp.getDendrogram().repaint();
				mapPanel.add(yDendroTmp.getDendrogram());
			}
			
			
			if(hm && anno){
				centerPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT,0,0));
				centerPanel.add(table.getRowHeader().getTableHeader());
				centerPanel.add(table.getTableHeader());
				if(mapPanel == null){
					mapPanel = new JPanel();
					mapPanel.setLayout(new BoxLayout(mapPanel, BoxLayout.LINE_AXIS));
				}
				mapPanel.add(table.getRowHeader());
				mapPanel.add(table);
			}else if(anno && !hm){
				centerPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT,0,0));
				centerPanel.add(table.getRowHeader().getTableHeader());
				if(mapPanel == null){
					mapPanel = new JPanel();
					mapPanel.setLayout(new BoxLayout(mapPanel, BoxLayout.LINE_AXIS));
				}
				mapPanel.add(table.getRowHeader());
			}else if(!anno && hm){
				centerPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT,0,0));
				centerPanel.add(table.getTableHeader());
				if(mapPanel == null){
					mapPanel = new JPanel();
					mapPanel.setLayout(new BoxLayout(mapPanel, BoxLayout.LINE_AXIS));
				}
				mapPanel.add(table.getRowHeader());
				mapPanel.add(table);
			}
			
			
			if(northPanel != null) northPanel.setAlignmentX(Component.RIGHT_ALIGNMENT);
			if(centerPanel != null) centerPanel.setAlignmentX(Component.RIGHT_ALIGNMENT);
			if(mapPanel != null) mapPanel.setAlignmentX(Component.RIGHT_ALIGNMENT);
	
			if(northPanel != null) returnpnl.add(northPanel);
			if(centerPanel != null) returnpnl.add(centerPanel);
			if(mapPanel != null) returnpnl.add(mapPanel);
			
			returnpnl.setVisible(true);
			returnpnl.updateUI();
			
			exportFrame = new JFrame();
			exportFrame.setLayout(new BorderLayout());
			exportFrame.add(returnpnl,BorderLayout.CENTER);
			exportFrame.pack();
				
			//calculating sizes for all
			if(hm && anno || hm && !anno){
				exportWidth = table.getRowHeader().getWidth()+table.getColumnCount()*docell;
				exportHeight = table.getTableHeader().getHeight()+table.getRowCount()*docell;
			}
			
			if(anno && !hm){
				exportWidth = fixedTblWidth;
				exportHeight = fixedTblHeight + table.getRowHeader().getTableHeader().getHeight();
			}
			
			if(a_tree){
				exportHeight += xDendroTmp.getDendrogram().getHeight();
				if(exportWidth == 0) exportWidth = xDendroTmp.getDendrogram().getWidth();
			}
			
			if (s_tree){
				exportWidth += yDendroTmp.getDendrogram().getWidth();
				if(exportHeight == 0) exportHeight = table.getRowCount()*docell;
			}
			
			if(hm && anno || hm && !anno && !a_tree && !s_tree){
				exportHeight += 5;
			}
			
			//set sizes
			returnpnl.setPreferredSize(new Dimension(exportWidth,exportHeight));
			returnpnl.setSize(new Dimension(exportWidth,exportHeight));
			returnpnl.setMinimumSize(new Dimension(exportWidth,exportHeight));
			returnpnl.setMaximumSize(new Dimension(exportWidth,exportHeight));
			returnpnl.updateUI();	
			
			exportFrame.repaint();	

			return returnpnl;

		}else{

			if(scrl.getVerticalScrollBar()!=null && scrl.getVerticalScrollBar().isVisible()){
				if(tableHeight > scrl.getVerticalScrollBar().getHeight()){
					tableHeight = scrl.getVerticalScrollBar().getHeight();
				}
				exportWidthOffset = scrl.getVerticalScrollBar().getWidth();
			}
			// Height of table + height of header + margin between table & header
			exportHeight = tableHeight + headerHeight + 6;
		}
		if(!a_tree) {
			assaySplit.setDividerLocation(1);
			assaySplit.updateUI();
		}
		else exportHeight += oldAssayHeight;
		
		if(s_tree && hasDendro && yDendrogram != null){
			//slider.setVisible(false);
			//pnlcutoffvalue.setVisible(false);
			yDendrogram.getScrollPane().getHorizontalScrollBar().setVisible(false);
			yDendrogram.getScrollPane().getVerticalScrollBar().setVisible(false);
		}
		if(!hm){
			table.setVisible(false);
			table.getRowHeader().setVisible(false);
			table.getTableHeader().setVisible(false);
		}
		
		leftPnl.updateUI();
		rightPnl.updateUI();
		topPnl.updateUI();
		pnl.updateUI();
		
		//frame.invalidate();
		//frame.validate();
		
		if(hm 	&& !s_tree 	&& a_tree) return rightPnl;
		if(hm 	&& !s_tree 	&& !a_tree){
			exportHeight-=5;
			return pnlheatmap;
		}
		if(!hm 	&& !s_tree 	&& a_tree) return pnlassaydendrogram;
		if(!hm	&& s_tree	&& !a_tree){
			returnpnl = pnlsubstdendrogram;
			return returnpnl;
		}
		
		return topPnl;
		
	}

Die wichtige Unterscheid beginnt bei Zeile 18. Der Alles Fall ist super da habe ich ja keine Begrenzung durch die ScrollPane. Wenn dann der untere Teil ausgeführt wird (ab Zeile 152). Wenn ich die beiden Zeilen (186 und 187) einblenden dann exportiert der auch den richtigen Teil allerdings nicht den Teil der durch die ScrollPane sichtbar ist also wo der Benutzer hingescrollt hat. Wenn ich den Teil ausblende dann funktioniert das für das topPnl (wo das Table enthalten ist) aber die anderen Teile werden gar nicht angezeigt in dem Bild. Also der Teil ist einfach grau. Nehme ich das validate auf das Hauptframe wieder rein geht es.

Ganz lange Rede kurzer Sinn. Versteht hier einer was ich vorhabe und kann sich ungefähr vorstellen wie das abläuft? Und warum es für Teile funktioniert wenn ich das frame.validate() auskommentiere? Gibt es vielleicht andere bessere Lösung, um an den sichtbaren Teil eines Panels welches in einer ScrollPane steckt zu kommen?

Hoffe ihr könnt mir helfen und sorry wenn das so ein langer post ist aber ich habe versucht die wichtigen Teile zu posten.
 

Marco13

Top Contributor
Erstmal zu updateUI: JComponent (Java Platform SE 6)

( -> Raus damit!)

Ansonsten ... du baust da ein komplett neues Panel zusammen, das dann exportiert werden soll? Klingt krampfig, aber hab's nicht ganz nachvollzogen. Gibt's einen Grund warum du nicht einfach das Panel, das in der ScrollPane liegt, rausschreibst?
 

bladepit

Bekanntes Mitglied
Ok danke für die Info...:)

Also ich kann z.b. einfach das Panel exportieren (das ist wenn z.b. einer der komponenten ausgewählt wurde) aber wenn alle drei ausgewählt sind dann soll quasi sowas wie ein bildschirmfoto gemacht werden also alle sichtbaren teile zusammen auf einem bild wo aber z.b. die splitpanes fehlen die die komponenten im program visuell trennen sollen.

Zudem muss ich es zum beispiel für mein table machen weil ich vor dem table ein weiteres table habe, welches die reihenbeschriftungen und zusätzliche informationen enthält. der benutzer kann die zusätzlichen informationen ausblenden. wenn ich das aber mache ist aufeinmal zwischen den beiden tables anstatt kein freier raum ein weißer freier raum (der natürlich stört). daher habe ich mir gedacht wenn ich ein neues panel baue in die ich die beiden tables neu einfüge und das dann exportiere wäre das problem gelöst.

Mit dem neuen panel das klappt auch ganz gut auch für den aktuellen bildschirminhalt (das habe ich mal ausprobiert) nur ist da das problem das durch das Ändern der Größe im Table anscheinend die scrollbar nicht mehr da steht wo sie vorher war obwohl (das habe ich geprüft) die values für die beiden achsen stimmen.

Es würde alle gute sein wenn ich wüsste wie ich das den weißen Bereich den ich zwischen den zwei Tables habe wegbekomme. Der tritt da auf wo ich bestimmte Spalten ausblende.
 

bERt0r

Top Contributor
Eine Scrollpane hat die Funktion getVisibleRect() welche dir ein Rechteck des liefert, das den aktuellen Bildausschnitt in Koordinaten ausrückt. Die JTable bietet dir Funktionen rowAtPoint(Point) und columnAtPoint(Point) die dir die jeweilige Zeile bzw. Spalte liefern, in welcher ein bestimmter Punkt liegt. Damit solltest du schon was anfangen können.
 

Marco13

Top Contributor
Der Code ist nicht leicht danzuvollziehen, aber... du nimmst die Original-Components von dort weg, wo sie eigentlich liegen, und packst sie dann in eine neue Component? Und wie kommen sie nachher wieder zurück?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Nach Export als Runnable Jar wird css nicht merh gefunden AWT, Swing, JavaFX & SWT 22
Fiedlerdan Image-Pfad Probleme nach Export aus Eclipse AWT, Swing, JavaFX & SWT 31
I Swing Bilder werden nach Export nicht angezeigt AWT, Swing, JavaFX & SWT 1
K Eclipse-Java Export/Import mit Oberfläche AWT, Swing, JavaFX & SWT 2
B Windowbuilder -> Export -> .jar AWT, Swing, JavaFX & SWT 23
L SWT SWT App export? AWT, Swing, JavaFX & SWT 7
Evil-Devil Java FX Export? AWT, Swing, JavaFX & SWT 3
B Java3D Szenegraph Export als VRML, .X3D, .OBJ, .POV, U3D oder PLY AWT, Swing, JavaFX & SWT 4
V SWT Export .jar AWT, Swing, JavaFX & SWT 13
T JFreeChart export Problem AWT, Swing, JavaFX & SWT 4
jojoge wie kann ich in eine Benennung eines JButtons eine Variable einbauen? AWT, Swing, JavaFX & SWT 6
L paintComponent in Panel eines Borderlayouts hinzufügen AWT, Swing, JavaFX & SWT 3
I Einbindung eines jpg/png/icons in eine GUI AWT, Swing, JavaFX & SWT 1
Splayfer Umrandung eines AttributedStrings AWT, Swing, JavaFX & SWT 2
Guybrush Threepwood Einfachste Möglichkeit zum Abspielen eines Videos in Swing AWT, Swing, JavaFX & SWT 4
Jose05 NullPointerException bei Beschreiben eines Labels aus einem Array AWT, Swing, JavaFX & SWT 12
Jose05 zugreifen auf ein Objekt eines GridPanes AWT, Swing, JavaFX & SWT 0
melaniemueller Verschiebung eines Fensters über Button AWT, Swing, JavaFX & SWT 27
news2swen automatisches erstellen eines Languagefiles AWT, Swing, JavaFX & SWT 1
B Stylen eines JTextPane funktioniert nicht AWT, Swing, JavaFX & SWT 1
MiMa Schliessen eines FXML Fensters? AWT, Swing, JavaFX & SWT 10
B JavaFX Farbe eines Quadrates in einer separaten Klasse ändern AWT, Swing, JavaFX & SWT 4
L AWT Ändern der Farbe eines BufferedImage mit Farbähnlichkeit AWT, Swing, JavaFX & SWT 5
B veränderte Größe eines Panels im Vorhinein wissen? AWT, Swing, JavaFX & SWT 1
L Komponenten eines Panels werden erst nach Klick darauf angezeigt AWT, Swing, JavaFX & SWT 13
L JavaFX Validierung eines Spinner AWT, Swing, JavaFX & SWT 1
M Builden eines lauffähigen JAR Files AWT, Swing, JavaFX & SWT 3
K Swing Text eines Lables in einer Methode ändern AWT, Swing, JavaFX & SWT 13
M JavaFX rotieren eines Kreises mit konstanter Geschwindigkeit AWT, Swing, JavaFX & SWT 1
K JavaFX Allgemeine Fragen zu dem Aufbau eines Programms hinsichtlich der Klassen AWT, Swing, JavaFX & SWT 1
M JavaFX Auf ein UI Elemement eines anderen Controllers zugreifen AWT, Swing, JavaFX & SWT 0
P Bewegung eines Balkens in eineum JPanel welches als Spielfeld fungiert AWT, Swing, JavaFX & SWT 2
Tronert JavaFX Linienstärke eines Separators ändern? AWT, Swing, JavaFX & SWT 3
N JavaFX Group: Gezieltes entfernen eines Objects (Rectangle) AWT, Swing, JavaFX & SWT 0
J Ziehen eines Buttons im JPanel AWT, Swing, JavaFX & SWT 2
J Drag and Drop eines Buttons AWT, Swing, JavaFX & SWT 0
M NullPointerException bei Übergabe eines RadioButtons AWT, Swing, JavaFX & SWT 11
DaCrazyJavaExpert Swing Extern den Text eines nicht fetsgelegten Buttons bekommen. AWT, Swing, JavaFX & SWT 12
J JavaFX Rectangle innerhalb eines Rectangle oder Panes positionieren? AWT, Swing, JavaFX & SWT 1
C JavaFX Inhalt eines SplitPane's durch Menü-Auswahl ändern? AWT, Swing, JavaFX & SWT 13
J linken Bildausschnitt eines BufferedImage abschneiden AWT, Swing, JavaFX & SWT 4
J bestimmten Bereich eines JPanels drucken AWT, Swing, JavaFX & SWT 2
D LookAndFeel Überschreiben eines UIDelegate AWT, Swing, JavaFX & SWT 0
T Java FX Probleme beim befüllen eines Tableviews AWT, Swing, JavaFX & SWT 5
C Zeichen eines 6 -Eckes AWT, Swing, JavaFX & SWT 1
U JavaFX Wechsel der Scene nach betätigen eines Button AWT, Swing, JavaFX & SWT 2
F Screenshot eines JPanel AWT, Swing, JavaFX & SWT 3
S JavaFX TreeItem: Icon am Ende eines Eintrags anhängen AWT, Swing, JavaFX & SWT 2
D TAB Taste innerhalb eines JSpinner AWT, Swing, JavaFX & SWT 2
R Update eines Labels bei Methodenaufruf einer anderen Klasse AWT, Swing, JavaFX & SWT 9
F Swing Spaltenbreite einer Column eines JTable auslesen AWT, Swing, JavaFX & SWT 5
D Swing Komponenten Anordnung eines Panels in Verbindung eines weiteren Panels AWT, Swing, JavaFX & SWT 9
F Swing Rotation eines Bildes mit beliebigen Koordinaten um den Mittelpunkt AWT, Swing, JavaFX & SWT 3
Cromewell JavaFX Nur bestimmten Teil eines Canvas rendern und anzeigen AWT, Swing, JavaFX & SWT 2
Z Swing Variable eines Objekt aus Hashmap in JList anzeigen AWT, Swing, JavaFX & SWT 1
D Frame beim starten eines anderen Frames schließen AWT, Swing, JavaFX & SWT 2
R Hilfe beim ändern des Hintergrundes eines JFrames AWT, Swing, JavaFX & SWT 9
T Durch klicken eines Buttons Klasse wechseln AWT, Swing, JavaFX & SWT 2
E Swing Copy und Paste eines einzelnen Knoten aus einem JTree AWT, Swing, JavaFX & SWT 1
J Swing Vertikales Zeichnen eines Strings mit Java2D AWT, Swing, JavaFX & SWT 1
7 JavaFX Problem beim Zeichnen eines Dreiecks in einem GUI AWT, Swing, JavaFX & SWT 6
V JavaFX Teile eines Images Transparent machen AWT, Swing, JavaFX & SWT 4
I JavaFX Langes drücken eines Buttons AWT, Swing, JavaFX & SWT 4
B Swing Wie Witdh und Height eines GuiElements bekommen AWT, Swing, JavaFX & SWT 5
L Swing Teile eines JPanel in eigene Klasse auslagern AWT, Swing, JavaFX & SWT 3
M Swing JPanel innerhalb eines Frames verschieben AWT, Swing, JavaFX & SWT 3
J JavaFX Zugriff auf FXML-Variablen eines anderen Controllers AWT, Swing, JavaFX & SWT 2
K Swing Inhalt eines JPanels lesen AWT, Swing, JavaFX & SWT 3
T Nur bestimmte Bereiche eines Fotos bearbeiten AWT, Swing, JavaFX & SWT 0
J Swing Erstellung eines User Interface AWT, Swing, JavaFX & SWT 2
S JavaFX Teil eines Bildes ausschneiden / als neues Bild nutzen AWT, Swing, JavaFX & SWT 8
R Swing Bewegung eines Graphics Objektes innerhalb eines JPanels funktioniert nicht richtig AWT, Swing, JavaFX & SWT 2
O Swing Aufbau eines JFrames AWT, Swing, JavaFX & SWT 2
A JavaFX Hilfe beim Design eines Quiz AWT, Swing, JavaFX & SWT 2
F Instanzierung einer inneren Klasse in Klasse eines anderen Packets AWT, Swing, JavaFX & SWT 3
A befüllen eines JTables mittels Methode AWT, Swing, JavaFX & SWT 10
javampir Swing Wanderung eines JFrames AWT, Swing, JavaFX & SWT 7
J Anfänger GUI Problem bei der Ausführung eines sehr einfachen Programms AWT, Swing, JavaFX & SWT 2
G Swing ComboBox: Auswahl eines Items der Liste durch Eingabe eines Buchstabens AWT, Swing, JavaFX & SWT 3
S Swing Nur den sichtbaren Bereich eines TextPane mit Inhalt darstellem AWT, Swing, JavaFX & SWT 0
I Erstellung eines kleinen Programmes AWT, Swing, JavaFX & SWT 8
H Position eines JLabel in einem JPanel AWT, Swing, JavaFX & SWT 2
J 2D-Grafik Windows Blue-Screen nach anzeigen eines Bildes in Java AWT, Swing, JavaFX & SWT 10
T Swing Einzelne Teile eines Textes färben? AWT, Swing, JavaFX & SWT 10
H Swing Probleme beim erstellen eines neuen Objektes durch einen Button AWT, Swing, JavaFX & SWT 10
HaukeG JavaFX JavaFX Resize und DragAndDrop eines Pane AWT, Swing, JavaFX & SWT 4
D 2D-Grafik Inhalt eines Graphics in anderes Graphics zeichnen.... AWT, Swing, JavaFX & SWT 3
J Denkfehler bei Aktualisierung eines GUI AWT, Swing, JavaFX & SWT 4
J Logikfehler im erstellen eines GUI AWT, Swing, JavaFX & SWT 3
F JTabbedPane mit Button zum Hinzufügen eines neuen Tabs AWT, Swing, JavaFX & SWT 6
B Event Handling Mausbewegung auch außerhalb eines JFrames registrieren AWT, Swing, JavaFX & SWT 2
U Swing Beim Bedienen eines Buttons JFrame schließen AWT, Swing, JavaFX & SWT 2
A Fehler bei erstellen eines JTextFields AWT, Swing, JavaFX & SWT 2
S Bestimmten Bereich eines Bildes im JFrame mit Scrollpane anzeigen AWT, Swing, JavaFX & SWT 0
C AWT die X koordinate eines Rectangles herrausfinden AWT, Swing, JavaFX & SWT 14
G 2D-Grafik Umrandung eines Winkels (drawArc(..)) AWT, Swing, JavaFX & SWT 4
V Ende eines Frames abwarten AWT, Swing, JavaFX & SWT 7
T hallo, habe ein Problem mit dem pro. eines Threads AWT, Swing, JavaFX & SWT 4
S Swing Auf Änderungen eines Models in der View einer JTable reagieren AWT, Swing, JavaFX & SWT 1
U Größe eines Button im Menü ändern AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben