/* Listing3802.java */ import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Listing3802 extends JFrame { public Listing3802() { super("JSplitPane"); addWindowListener(new WindowClosingAdapter(true)); //Linkes Element erzeugen GridComponent grid1 = new GridComponent(); grid1.setMinimumSize(new Dimension(50, 100)); grid1.setPreferredSize(new Dimension(180, 100)); //Rechtes Element erzeugen GridComponent grid2 = new GridComponent(); grid2.setMinimumSize(new Dimension(100, 100)); grid2.setPreferredSize(new Dimension(80, 100)); //JSplitPane erzeugen JSplitPane sp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); sp.setLeftComponent(grid1); sp.setRightComponent(grid2); sp.setOneTouchExpandable(true); sp.setContinuousLayout(true); getContentPane().add(sp, BorderLayout.CENTER); } public static void main(String[] args) { Listing3802 frame = new Listing3802(); frame.setLocation(100, 100); frame.setSize(300, 200); frame.setVisible(true); } } class GridComponent extends JComponent { public void paintComponent(Graphics g) { g.setColor(Color.gray); int width = getSize().width; int height = getSize().height; for (int i = 0; i < 10; ++i) { g.drawLine(i * width / 10, 0, i * width / 10, height); } for (int i = 0; i < 10; ++i) { g.drawLine(0, i * height / 10, width, i * height / 10); } g.setColor(Color.black); g.drawString("" + width, 5, 15); } }