There is a bug when maximize and then normalize dockable inside Working Area. To reproduce maximize and the normalize dockable called ‘Stack1’ or ‘Stack2’. After being normalized dockable appears in the wrong location (above dockables ‘One’, ‘Two’, ‘Three’)
import java.awt.Color;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import bibliothek.gui.dock.common.CControl;
import bibliothek.gui.dock.common.CGrid;
import bibliothek.gui.dock.common.CWorkingArea;
import bibliothek.gui.dock.common.DefaultSingleCDockable;
import bibliothek.gui.dock.common.SingleCDockable;
public class WorkingAreaMax
{
public static void main(String[] args)
{
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
CControl control = new CControl(frame);
frame.setLayout(new GridLayout(1, 1));
frame.add(control.getContentArea());
final CWorkingArea workingArea = control.createWorkingArea("my working area");
SingleCDockable red = create("Browser", Color.RED);
SingleCDockable green = create("History", Color.GREEN);
SingleCDockable defaultTemplate = create("One", Color.CYAN);
SingleCDockable sources = create("Two", Color.ORANGE);
SingleCDockable editor = create("Three", Color.YELLOW);
SingleCDockable charts = create("Stack1", Color.ORANGE);
SingleCDockable timeseries = create("Stack2", Color.YELLOW);
CGrid grid = new CGrid(control);
grid.add(1, 1, 3, 3, workingArea);
grid.add(0, 0, 1, 2, red);
grid.add(0, 2, 1, 2, green);
control.getContentArea().deploy(grid);
CGrid grid1 = new CGrid(control);
grid1.add(0, 0, 1, 1, defaultTemplate);
grid1.add(1, 0, 1, 1, sources);
grid1.add(2, 0, 1, 1, editor);
grid1.add(0, 1, 2, 1, charts);
grid1.add(0, 1, 2, 1, timeseries);
control.getContentArea().deploy(grid);
workingArea.deploy(grid1);
frame.setBounds(100, 100, 800, 600);
frame.setVisible(true);
}
public static SingleCDockable create(String title, Color color)
{
JPanel background = new JPanel();
background.setOpaque(true);
background.setBackground(color);
return new DefaultSingleCDockable(title, title, background);
}
}