Where The Streets Have No Name

docking frames 예제(4) 본문

Developement/Java

docking frames 예제(4)

highheat 2009. 11. 11. 09:28
private void initCControl() {
        CControl control = new CControl(getFrame());
        getFrame().add(control.getContentArea());

        CGrid grid = new CGrid(control);
        grid.add(0, 0, 1, 1, createDockable2("Red", Color.RED));
        grid.add(0, 1, 1, 1, createDockable2("Green", Color.GREEN));
        grid.add(1, 0, 1, 1, createDockable2("Blue", Color.BLUE));
        grid.add(1, 1, 1, 1, createDockable2("Yellow", Color.YELLOW));
        control.getContentArea().deploy(grid);

        SingleCDockable black = createDockable2("Black", Color.BLACK);
        control.add(black);
        black.setLocation(CLocation.base().minimalNorth());
        black.setVisible(true);

        RootMenuPiece dockLayout = new RootMenuPiece("Dock Layout", false);
        dockLayout.add(new SubmenuPiece("Dock List", true, new SingleCDockableListMenuPiece(control)));
        dockLayout.add(new SubmenuPiece("Theme", true, new CThemeMenuPiece(control)));
        dockLayout.add(new SubmenuPiece("LookAndFeel", true, new CLookAndFeelMenuPiece(control)));
        dockLayout.add(new SubmenuPiece("Layout", true, new CLayoutChoiceMenuPiece(control, true)));
        dockLayout.add(CPreferenceMenuPiece.setup(control));
        menuBar.add(dockLayout.getMenu());

        DockController controller = control.intern().getController();
        controller.setTheme(new EclipseTheme());
        controller.getProperties().set(EclipseTheme.TAB_PAINTER, RectGradientPainter.FACTORY);
}

public static SingleCDockable createDockable2(String title, Color color) {
        JPanel panel = new JPanel();
        panel.setOpaque(true);
        panel.setBackground(color);
        DefaultSingleCDockable dockable = new DefaultSingleCDockable(title, title, panel);
        dockable.setCloseable(true);
        return dockable;
 }