Zum Inhalt springen

JScrollpane


helmito

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...