Wie füge ich hier ein JScrollPane ein?
Hallo,
Kann mir jemand sagen wie ich beim JPanel ein JScrollPane einfüge.
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.*;
public class button extends JFrame{
public static void main(String[] args) {
button frame = new button();
frame.setVisible(true);
frame.setSize(500,600);
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public button(){
super();
getContentPane().setLayout(null);
JPanel panel = new JPanel();
panel.setBounds(10,30,100,101);
add(panel);
int j = 0;
for (int i =0;i grösserzeichen 200 ;i++ ) {
JLabel label = new JLabel();
label.setText(String.valueOf(i));
label.setBounds(10,j,40,10);
panel.add(label);
j = j +20;
}
}
}
Danke
1 Antwort
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Java
Du fügst an dein Wunschpanel ein Scroll-Panel an. An das Scroll-Panel hängst du jedoch einen weiteren Container der größer ist als das Scrollpanel.
Sinnvollerweise mit einem Layout was dafür ausgelegt ist wie das BoxedLayout:
JPanel panel = new JPanel(); panel.setBounds(10, 30, 100, 101); ScrollPane scrolLPane = new ScrollPane(); add(scrolLPane); JPanel elementContainer = new JPanel(); elementContainer.setLayout(new BoxLayout(elementContainer, BoxLayout.Y_AXIS)); scrolLPane.add(elementContainer);
int j = 0;
for (int i = 0; i < 200; i++) {
JLabel label = new JLabel(); label.setText(String.valueOf(i));
label.setBounds(10, j, 40, 10); elementContainer.add(label); j = j + 20; }
Danke geht