我有一个带有JSplitPane的JFrame,它是OneTouchExpandable.我想记住JFlitPane在JFrame上的最后一个Divider位置处理,如果重新打开JFrame,则恢复Position.
它运行良好,但是如果用户通过oneTouchExpandable UI-Widget扩展一侧,那么我只存储处理中的'int'-Position并再次设置'int'-Position,结果是JFrame调整JSplitPane-Divider的大小跳转到折叠的Component preferredSize.
如何获取/设置崩溃/展开状态?
编辑
现在:调整大小行为是正常的,但它与第一次打开的行为不完全相同 - 因为现在我没有MinimumDividerLocation.我想要SnapIn,但需要进一步折叠状态.
public class SplitPaneState {
public static void main( String[] args ) {
SwingUtilities.invokeLater( new Runnable() {
@Override
public void run() {
new SplitPaneState().createAndSowGUI();
}
});
}
private int position = -1;
private Dimension size = new Dimension( 500, 300 );
private void createAndSowGUI() {
final JFrame frame = new JFrame("frame");
frame.setSize( 200, 100 );
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.setLocationRelativeTo( null );
frame.getContentPane().add( new JButton( new AbstractAction(){
{
putValue( Action.NAME, "Open Dialog" ); …Run Code Online (Sandbox Code Playgroud)