Kezdőoldal » Számítástechnika » Programozás » Java-ban hogyan lehet függőleg...

Java-ban hogyan lehet függőleges, görgető sávot hozzáadni panelhoz?

Figyelt kérdés

Ide illő forráskód:

(már próbáltam így, úgy, így se jó, úgy se jó)

JPanel panel1 = new JPanel(null);

JScrollPane scrollPane = new JScrollPane(panel1);

scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);

scrollPane.setBounds(50, 30, 300, 50);


JFrame frame = new JFrame( );

JPanel panel = new JPanel();

JLabel label=new JLabel("<html>asd<br>alma<br>banán<br>citrom<br>dió</html>");

panel.add(label);

panel.add(panel1);

panel.add(scrollPane);


frame.add(panel);

panel.setPreferredSize(new Dimension(100,100));

frame.setSize(100,100);



frame.setVisible(true);


frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );


2015. nov. 6. 17:34
 1/3 Tengor ***** válasza:
A panel1-et tetted rá a JScrollPane-re de a frame-re már a panel kerül, aminek nincs köze a panel1-hez.
2015. nov. 6. 18:58
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:

Ez esetben nincs szöveg.


Első próbálkozás:

JPanel panel = new JPanel();

JPanel panel1 = new JPanel(null);

JScrollPane scrollPane = new JScrollPane(panel);

scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);

scrollPane.setBounds(0, 0, 100, 100);


JFrame frame = new JFrame( );


JLabel label=new JLabel("<html>asd<br>alma<br>banán<br>citrom<br>dió</html>");

panel.add(label);

panel.add(panel1);

panel.add(scrollPane);


frame.add(panel);

panel.setPreferredSize(new Dimension(100,100));

frame.setSize(100,100);

frame.setVisible(true);


frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );


Eredmény:

xception in thread "main" java.lang.IllegalArgumentException: adding container's parent to itself

at java.awt.Container.checkAddToSelf(Container.java:477)

at java.awt.Container.addImpl(Container.java:1088)

at java.awt.Container.add(Container.java:415)

És nem tetszik neki az a sor, hogy:

panel.add(scrollPane);



Második próbálkozás:

(hagyjuk ki a nem-jó sort)


JPanel panel = new JPanel();

JPanel panel1 = new JPanel(null);

JScrollPane scrollPane = new JScrollPane(panel);

scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);

scrollPane.setBounds(0, 0, 100, 100);


JFrame frame = new JFrame( );


JLabel label=new JLabel("<html>asd<br>alma<br>banán<br>citrom<br>dió</html>");

panel.add(label);

panel.add(panel1);

// panel.add(scrollPane);


frame.add(panel);

panel.setPreferredSize(new Dimension(100,100));

frame.setSize(100,100);

frame.setVisible(true);


frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );


Eredmény van szöveg, de nincs görgetősáv.


Harmadik próbálkozás:

amiért panel1 nem kell, vegyük ki.


JPanel panel = new JPanel();

JPanel panel1 = new JPanel(null);

JScrollPane scrollPane = new JScrollPane(panel);

scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);

scrollPane.setBounds(0, 0, 100, 100);


JFrame frame = new JFrame( );


JLabel label=new JLabel("<html>asd<br>alma<br>banán<br>citrom<br>dió</html>");

panel.add(label);


// panel.add(scrollPane);


frame.add(panel);

panel.setPreferredSize(new Dimension(100,100));

frame.setSize(100,100);

frame.setVisible(true);


frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );



Eredmény: ugyanaz, mint a második próbálkozásnál.

2015. nov. 6. 23:28
 3/3 Tengor ***** válasza:
A labelt a panel nem takarja ki?
2015. nov. 7. 06:59
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!