import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class ScrollTest extends JFrame
{
private GridBagLayout gbl = new GridBagLayout();
private GridBagConstraints gbc;
public ScrollTest()
{
super("JScrollPane");
JLabel header=new JLabel("Überschrift");
getContentPane().setLayout(gbl);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
//Dialogpanel erzeugen
JPanel panel = new JPanel();
panel.setLayout(gbl);
for (int i = 1; i <= 100; ++i)
{
JCheckBox checkBox=new JCheckBox("Frage " + i);
gbc = makegbc(i, 0, 1, 1);
gbc.fill = GridBagConstraints.NONE;
gbl.setConstraints(checkBox, gbc);
panel.add(new JCheckBox("Frage " + i));
}
//JScrollPane erzeugen
JScrollPane scroll = new JScrollPane(panel);
scroll.setCorner(JScrollPane.UPPER_RIGHT_CORNER,new JLabel("1", JLabel.CENTER) );
scroll.setCorner(JScrollPane.LOWER_RIGHT_CORNER,new JLabel("2", JLabel.CENTER) );
// headerLabel hinzufügen
gbc = makegbc(0, 0, 1, 1);
gbc.fill = GridBagConstraints.NONE;
gbl.setConstraints(header, gbc);
getContentPane().add(header);
//JScrollPane zur ContentPane hinzufügen
gbc = makegbc(1, 0, 3, 3);
gbc.fill = GridBagConstraints.BOTH;
gbl.setConstraints(panel, gbc);
getContentPane().add(scroll);
}
public static void main(String[] args)
{
ScrollTest frame = new ScrollTest();
frame.setLocation(100, 100);
frame.setSize(300, 150);
frame.setVisible(true);
}
public GridBagConstraints makegbc(int x, int y, int width, int height)
{
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = x;
gbc.gridy = y;
gbc.gridwidth = width;
gbc.gridheight = height;
gbc.insets = new Insets(3, 3, 3, 3);
return gbc;
}
}