Komponenten innerhalb eine JScrollpane werden auch ausserhalb davon gezeichnet!

JuliaOne

Mitglied
Hallo ihr...

ich hab folgendes Problem:

In initConnectors2() fülle ich eine JLayeredPane (innerPanel) mit JLayeredPane (b11) Elementen.
Diese steck ich dann wiederum in eine JScrollPane(scrollpane). Zuletzt kommt JScrollPane in das JPanel cc.

Das Ergebnis übergebe ich in der main Methode dem JPanel mainePane. Diese Pane wird einer weiteren JScrollPane (scrollpane) übergeben.
Leider muss das ganze so "umständlich" gemacht werden.

Jetzt aber zum Problem (evtl. Bug). Die Elemente innerhalb der JLayeredPane (innerPanel) werden auch ausserhalb des Bereiches gezeichnet. Was noch dazu kommt, die Elemente werden sogar auf der JMenuBar gezeichnet. Deshalb bin ich mir fast sicher das es ein Java Bug ist.

Bitte gibt mir Feedback wie ich da vorgehen muss.


(Ich hoffe der Codeausschnitt bringt irgendwas, hab das natürlich arg gekürzt)

public static void main(String[] args) {

JPanel mainPane = initConnectors2();
mainPane.setPreferredSize(new Dimension(10000, 10000));

JScrollPane scrollpane = new JScrollPane(mainPane,
ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);

getContentPane().add(scrollpane);
validate();
}

initConnectors2(){
JPanel cc = new JPanel();

ConnectorContainer innerPanel = new ConnectorContainer();
innerPanel.setPreferredSize(new Dimension(10000, 10000));

for (int i = 0; i < clustered.length; i++) {
JLayeredPane b11 = new JLayeredPane(label);
Dimension k = b11.getPreferredSize();
b11.setBounds(i * (width / 5) + 20, i*height, k.width, k.height);
innerPanel.add(b11);
}


JPanel backgroundPanel = new JPanel();
backgroundPanel.setSize(10000, 10000);
backgroundPanel.setBackground(new Color(28, 28, 28));

innerPanel.add(backgroundPanel, Integer.MIN_VALUE);

JScrollPane scrollpane = new ScrollPane(innerPanel,
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
scrollpane.setBounds(10, 120, 100000, height - 300);
cc.add(scrollpane);

return cc;
}
}

Viele Grüße,

J.
 

Marco13

Top Contributor
Dass man die dicke, rote, mit einem
icon4.gif
markierte Nachricht
übersieht, kann doch eigentlich nicht sein.

Alles, was das Aussehen einer Swing-Component verändert (oder darauf zurückgreift) muss vom Event-Dispatch-Thread gemacht werden. Im einfachsten Fall: Alles, was in der main() steht, in ein
Code:
SwingUtilities.invokeLater(new Runnable()
{
    public void run()
    {
        // Hier der Code aus der main
    }
});
einwickeln.
 

André Uhres

Top Contributor
Hallo Julia,

herzlich willkommen bei java-forum.org.

Mit JLayeredPane ist es durchaus möglich, auf die JMenuBar zu zeichnen. Deshalb ist das höchst wahrscheinlich kein Java Bug. In deinem Code kann ich aber kein derartiges Zeichnen feststellen. Mach doch bitte mal ein KSKB, damit man das überprüfen kann.

Und denk daran: Java™ Quelltext ist bitte in
Java:
-Tags zu schreiben: [code=Java]hier Java Code einfügen[ /JAVA]   (*)

Gruß,
André

(*) ohne das Leerzeichen vor dem /
 

Paddelpirat

Bekanntes Mitglied
Hi, du scheinst AWT mit Swing zu vermischen, vielleicht liegt es daran.

In den Zeilen hast du einmal JScrollPane und einmal nur ScrollPane geschrieben:

Java:
JScrollPane scrollpane = new ScrollPane(innerPanel,
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
scrollpane.setBounds(10, 120, 100000, height - 300);
cc.add(scrollpane);
 

JuliaOne

Mitglied
Hi...

vielen Dank für Eure schnelle Hilfe.

@Marco hast Recht. Hab nicht darauf geachtet...
Dein Tipp verändert das ganze leider nicht.

@Andre, ich weiss nicht, was du mit KSKB meinst :)

@paddelpirat...also ich wüsste nicht was an dem Ausschnitt den du kopiert hast AWT sein sollte. Wenn du ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED meinst. Das ist einfach eine Konstante, um das Scrollverhalten zu bestimmen und hat nichts mit AWT zu tun. Vielleicht stimmt das aber auch gar nicht.

Hier der Code noch einmal in den richtigen Tags. Da das nur ein Ausschnitt ist, weiss ich nicht ob ihr was damit anfangen könnt.

Java:
public static void main(String[] args) {

		JPanel mainPane = initConnectors2();
		mainPane.setPreferredSize(new Dimension(10000, 10000));
		
		JScrollPane scrollpane = new JScrollPane(mainPane,
				ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER,						ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);

		getContentPane().add(scrollpane);
		validate();
	}		
		
		initConnectors2(){
			JPanel cc = new JPanel();
		
			ConnectorContainer innerPanel = new ConnectorContainer();
	     	innerPanel.setPreferredSize(new Dimension(10000, 10000));
		
			for (int i = 0; i < clustered.length; i++) {
				JLayeredPane b11 = new JLayeredPane(label);
				Dimension k = b11.getPreferredSize();
				b11.setBounds(i * (width / 5) + 20, i*height, k.width, k.height);
			    innerPanel.add(b11);
			}
			
				
		     JPanel backgroundPanel = new JPanel();
		     backgroundPanel.setSize(10000, 10000);
		     backgroundPanel.setBackground(new Color(28, 28, 28));

	   		 innerPanel.add(backgroundPanel, Integer.MIN_VALUE);
	   		 
			 JScrollPane scrollpane = new ScrollPane(innerPanel,
			 ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
			 ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
		     scrollpane.setBounds(10, 120, 100000, height - 300);
		     cc.add(scrollpane);
		
		   return cc;
				}
		}

Danke nochmal an euch...ich hoffe ihr habt weitere Tipps für mich..

LG
 

Paddelpirat

Bekanntes Mitglied
Ich meine bei dir im Code Zeile 33:

Java:
 JScrollPane scrollpane = new ScrollPane(innerPanel,

da steht "new ScrollPane(..." das müsste aber eine JScrollPane sein. Weil ScrollPane AWT ist...

Edit: Oder ist das nur ein Tippfehler in deinem Beispielcode? Weil laut Doku gibt es diesen Konstruktor gar nicht so in AWT, d.h. du müsstest eh eine Fehlermeldung bekommen ;-)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Swing Komponenten nicht sichtbar nach Start AWT, Swing, JavaFX & SWT 12
H Fehler: Zum Ausführen dieser Anwendung benötigte JavaFX-Runtime-Komponenten fehlen AWT, Swing, JavaFX & SWT 44
H Swing , GridLayout, Größenbestimmung der Komponenten im Layout AWT, Swing, JavaFX & SWT 8
BabySuna Swing Komponenten auslagern auf separate Datei AWT, Swing, JavaFX & SWT 8
B Mit ContentPane werden Komponenten angezeigt, mit SplitPane, JPanel nicht? AWT, Swing, JavaFX & SWT 6
P AWT Einzelne Komponenten zur Laufzeit austauschen? AWT, Swing, JavaFX & SWT 3
D [Swing] Anordnung von Komponenten mit GridLayout Manager AWT, Swing, JavaFX & SWT 13
L Komponenten eines Panels werden erst nach Klick darauf angezeigt AWT, Swing, JavaFX & SWT 13
E Komponenten von JScrollPane werden nicht richtig ermittelt AWT, Swing, JavaFX & SWT 2
F Gebundene Eigenschaften bei Komponenten mit NetBeans verarbeiten AWT, Swing, JavaFX & SWT 3
H LayoutManager Probleme mit Positionierung/Abständen der Komponenten AWT, Swing, JavaFX & SWT 14
dereki2000 Swing JFrame nah hinzufügen von Komponenten akualisieren. AWT, Swing, JavaFX & SWT 2
L Swing Komponenten erst nach Resize sichtbar AWT, Swing, JavaFX & SWT 2
S Swing Panel übernimmt komponenten von anderem AWT, Swing, JavaFX & SWT 7
T Reihenfolge der Komponenten im einem JFrame AWT, Swing, JavaFX & SWT 8
P Gleichmäßige Anodnung von Komponenten im migLayout AWT, Swing, JavaFX & SWT 2
DaCrazyJavaExpert Swing Komponenten genauer anordnen. AWT, Swing, JavaFX & SWT 13
DaCrazyJavaExpert Swing Komponenten in GridBagLayout werden Falsch angeordnet AWT, Swing, JavaFX & SWT 1
P Größe und Ausrichtung von Komponenten festlegen AWT, Swing, JavaFX & SWT 13
MaxG. Swing Swing Komponenten zur Laufzeit hinzufügen AWT, Swing, JavaFX & SWT 2
D Swing Komponenten Anordnung eines Panels in Verbindung eines weiteren Panels AWT, Swing, JavaFX & SWT 9
N Swing Wie Programm strukturieren? (Dynamisch Komponenten hinzufügen) AWT, Swing, JavaFX & SWT 1
Neumi5694 LookAndFeel Look & Feel nicht angezeigter Komponenten ändern AWT, Swing, JavaFX & SWT 6
D JavaFX GUI Komponenten werden langsam bei größerer Datenmenge AWT, Swing, JavaFX & SWT 6
R Komponenten von JPanel bleiben unsichtbar AWT, Swing, JavaFX & SWT 2
D JavaFX Welche Komponenten vermisst ihr? Welche wären essenziell notwendig? AWT, Swing, JavaFX & SWT 8
M Datei mit Komponenten einbinden AWT, Swing, JavaFX & SWT 7
T SWT Externer zugrif auf SWT Komponenten AWT, Swing, JavaFX & SWT 3
Shams Probleme bei dem Hinzufügen von Komponenten zu einem JFrame AWT, Swing, JavaFX & SWT 3
J MouseOver bei Komponenten AWT, Swing, JavaFX & SWT 9
S Größe der Komponenten, beim ändern der größe des Frames, mit ändern! AWT, Swing, JavaFX & SWT 2
D LayoutManager GUI skalieren und deren Komponenten mit Grid(Bag)Layout-Manager. AWT, Swing, JavaFX & SWT 5
G Komponenten vergrößern sich nicht trotz Layoutmanager AWT, Swing, JavaFX & SWT 24
M JavaFX Scenebuilder eigene Komponenten AWT, Swing, JavaFX & SWT 8
A Swing per JComboBox gewünschtes Attribut auswählen und Komponenten passen sich an AWT, Swing, JavaFX & SWT 7
A JavaFX Eigene Komponenten im Scene Builder AWT, Swing, JavaFX & SWT 0
Q Swing Fenster updaten - Hinzugefügte Komponenten darstellen AWT, Swing, JavaFX & SWT 3
S BoxLayout: Anordnung der Komponenten links statt zentriert AWT, Swing, JavaFX & SWT 0
Bartertown JTable - Verschiedene Komponenten in einer Spalte unterbringen AWT, Swing, JavaFX & SWT 3
U Frame zeigt keine Komponenten AWT, Swing, JavaFX & SWT 7
G Applet Applet Komponenten flackern AWT, Swing, JavaFX & SWT 10
K LayoutManager Probleme mit 2 Komponenten AWT, Swing, JavaFX & SWT 9
M Komponenten übereinander AWT, Swing, JavaFX & SWT 7
R Komponenten werden erst nach maximierung des Frames sichtbar (Linux) AWT, Swing, JavaFX & SWT 5
H Swing Getter für GUI-Komponenten AWT, Swing, JavaFX & SWT 3
B Komponenten in Fenster verdrängen sich untereinander AWT, Swing, JavaFX & SWT 6
N Komponenten übereinander AWT, Swing, JavaFX & SWT 3
S Anordnung von GUI-Komponenten mit LayouManger (Problem beim anzeigen von JTextField) AWT, Swing, JavaFX & SWT 5
M Swing Komponenten enablen? AWT, Swing, JavaFX & SWT 4
X Java Komponenten jeder Zeit hinzufügen können AWT, Swing, JavaFX & SWT 3
S View-Komponenten im Controller bekannt machen AWT, Swing, JavaFX & SWT 7
D Grafische Komponenten komplett neu aufbauen (Neukonstruktion) AWT, Swing, JavaFX & SWT 5
A AWT Komponenten in JavaFX einbetten AWT, Swing, JavaFX & SWT 9
M Swing Komponenten erscheinen beim darüberfahren? AWT, Swing, JavaFX & SWT 7
H Komponenten unmittelbar nach dem Ausführen teilweise unsichtbar AWT, Swing, JavaFX & SWT 3
K GUI in Komponenten aufteilen (MVC) AWT, Swing, JavaFX & SWT 2
W Funktionen, sowie aufruf einiger Komponenten AWT, Swing, JavaFX & SWT 4
J Alle Komponenten eines JFrames durchlaufen AWT, Swing, JavaFX & SWT 2
R Swing Komponenten bleiben bei Animation unsichtbar AWT, Swing, JavaFX & SWT 7
T Unter JPanel liegende Komponenten "totschalten" AWT, Swing, JavaFX & SWT 5
morphesus Swing Komponenten werden nicht angezeigt AWT, Swing, JavaFX & SWT 8
C Swing Reihenfolge der Initialisierung von Komponenten AWT, Swing, JavaFX & SWT 6
Asamandra LayoutManager GridBagLayout - Komponenten (mit fill?) vergrößern aber Proportionen dabei erhalten? AWT, Swing, JavaFX & SWT 3
B Swing Komponenten auf JApplet setSize AWT, Swing, JavaFX & SWT 7
B Swing Komponenten auf JApplet setSize AWT, Swing, JavaFX & SWT 2
W Bildgröße automatisch an Komponenten anpassen AWT, Swing, JavaFX & SWT 3
TheWhiteShadow Swing Komponenten organisieren AWT, Swing, JavaFX & SWT 9
S Überlappung zweier Komponenten AWT, Swing, JavaFX & SWT 12
Z größe der komponenten bestimmen AWT, Swing, JavaFX & SWT 16
C GUI-Komponenten skalieren AWT, Swing, JavaFX & SWT 10
M Seltsames Problem mit Resize eines Fensters und seiner Komponenten AWT, Swing, JavaFX & SWT 2
D Swing Komponenten verstecken AWT, Swing, JavaFX & SWT 4
X Swing Resizing der Komponenten innheralb eines Panels AWT, Swing, JavaFX & SWT 2
T Swing Font für alle Komponenten ändern AWT, Swing, JavaFX & SWT 2
S Problem mit Swing Komponenten AWT, Swing, JavaFX & SWT 11
A Swing Alle Komponenten auf JFrame ermitteln AWT, Swing, JavaFX & SWT 4
E LookAndFeel Eigene Komponenten mit Synth L&F stylen AWT, Swing, JavaFX & SWT 2
S Swing Frame und Klasse extends JPanel - Komponenten zur Laufzeit austauschen AWT, Swing, JavaFX & SWT 18
S JButton und textfield.setText - Komponenten über-/verdecken sich AWT, Swing, JavaFX & SWT 15
M Komponenten übereinander prüfen AWT, Swing, JavaFX & SWT 3
W LayoutManager GridBag richtig nutzen - Komponenten richtig anordnen und automatisch vergrößern AWT, Swing, JavaFX & SWT 5
M Komponenten in anderer Reihenfolge anzeigen AWT, Swing, JavaFX & SWT 4
G swing Komponenten verrutschen ständig... AWT, Swing, JavaFX & SWT 6
D Mit GridBayLayout Komponenten anordnen AWT, Swing, JavaFX & SWT 6
N Window transparent, Komponenten nicht transparent AWT, Swing, JavaFX & SWT 11
R Farbänderung von Komponenten wird nicht wirksam AWT, Swing, JavaFX & SWT 7
P Swing Hierachie oder Reihenfolge von Komponenten AWT, Swing, JavaFX & SWT 5
T Sich überlappende Komponenten AWT, Swing, JavaFX & SWT 2
D Swing Probleme beim Anzeigen der einzelnen Komponenten AWT, Swing, JavaFX & SWT 16
R Swing Komponenten klein angezeigt AWT, Swing, JavaFX & SWT 10
D Swing Swing Komponenten verschieben AWT, Swing, JavaFX & SWT 7
B Komponenten nach Skalierung nicht mehr ansprechbar AWT, Swing, JavaFX & SWT 9
Kr0e AWT Komponenten in JPanel AWT, Swing, JavaFX & SWT 6
xehpuk Swing Komponenten werden durch setFont() winzig AWT, Swing, JavaFX & SWT 3
O Größe von Komponenten im JFrame manuell verändern AWT, Swing, JavaFX & SWT 2
H Komponenten anwendugsweit formatieren AWT, Swing, JavaFX & SWT 6
M Swing Komponenten mit fester Größe an Fensterrand(JFrame) AWT, Swing, JavaFX & SWT 2
A Komponenten zur Laufzeit entfernen AWT, Swing, JavaFX & SWT 3
Weiti Swing Animationen - Drehung aller Komponenten auf Knopfdruck AWT, Swing, JavaFX & SWT 12
P LayoutManager Komponenten einfügen (FlowLayout, BoxLayout) AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben