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.
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.