helmito Geschrieben 23. Oktober 2003 Geschrieben 23. Oktober 2003 Hallo zusammen, ich habe hier ein kleines Problem. Und zwar möchte ich AWT- oder Swing Komponenten (oder beides) einer Jpanel zuweisen. Nur möchte ich diesen JPanel in einer JScrollPane darstellen lassen. Das Problem was ich habe ist, dass zwar die Komponenten in der Jpanel vorhanden sind und dieser Jpanel auch in der JScrollPane vorhanden ist, nur leider sieht man die Komponenten nicht auf Anhieb. Erst wenn ich mit der Maus blind in mein JFrame klicke, erscheint (wenn ich getroffen habe) die Komponente. Hier ist zur besseren Veranschaulichung der Source-Code: //////////////////////////////////////////////////////////////////////////////////////////////////////////// public class Untitled1 extends JFrame { public Untitled1() { this.setTitle("HelloWorldSwing"); GridLayout g = new GridLayout(10,10); JPanel panel = new JPanel(g); panel.setSize(300,300); JLabel label = new JLabel("Hello World"); JCheckBox[] a = new JCheckBox[100]; JScrollPane jscroll = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); jscroll.setSize(30,30); for (int i = 0; i< 100; i++) { a = new JCheckBox("BB"); a.setVisible(true); panel.add(a); } panel.setBorder(new EtchedBorder(new Color(255,0,0), new Color(0,0,255))); jscroll.add(panel); this.getContentPane().add(jscroll); jscroll.show(true); jscroll.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.show(); this.setSize(500,500); this.setVisible(true); } public static void main(String[] args) { Untitled1 u = new Untitled1(); } } //////////////////////////////////////////////////////////////////////////////////////////////////////////// DANKE fuer die Hilfe, helmito Zitieren
Jaraz Geschrieben 23. Oktober 2003 Geschrieben 23. Oktober 2003 Hallo! Original geschrieben von helmito jscroll.add(panel); Die Methode add kommt von Component und hat nichts mit dem was du willst zu tun. Entweder du übergibst das panel im JScrollPane Konstruktor oder du setzt das Panel nachträglich mit: jscroll.setViewportView(panel); Gruß Jaraz Zitieren
helmito Geschrieben 23. Oktober 2003 Autor Geschrieben 23. Oktober 2003 Hi, Danke fuer die Info!!! kannst du mir auch vielleicht sagen, wie ich die Komponenten unsichtbar machen kann, wenn diese beim Betätigen der ScrollPane eigentlich ausserhalb des Werte-Bereiches geschoben werden??? Gruesse, helmito Zitieren
helmito Geschrieben 23. Oktober 2003 Autor Geschrieben 23. Oktober 2003 Vielleicht hab ich mich unglücklich ausgedrückt. Mein Problem ist: Ich hab in dem JPanel einen Button, der eigentlich nicht komplett zu sehen sein dürfte, weil er zu groß ist (Der Button sollte eigentlich nur bis zum Rahmen der JScrollPane sichtbar sein). Bei mir jedoch kann man den ganzen Button sehen, obwohl der Button bur bis zum Rahmen dargestellt sein sollte. Er übermalt also den Rahmen. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.