|
|
@ -45,6 +45,7 @@ public class UIResizableContainer extends JPanel { |
|
|
|
private boolean isLeftRightDragEnabled = true; |
|
|
|
private boolean isLeftRightDragEnabled = true; |
|
|
|
private boolean isDownPaneVisible = true ; |
|
|
|
private boolean isDownPaneVisible = true ; |
|
|
|
private int paraHeight; |
|
|
|
private int paraHeight; |
|
|
|
|
|
|
|
private int parentHeight = -1; |
|
|
|
|
|
|
|
|
|
|
|
public UIResizableContainer(int direction) { |
|
|
|
public UIResizableContainer(int direction) { |
|
|
|
this(new JPanel(), new JPanel(), direction); |
|
|
|
this(new JPanel(), new JPanel(), direction); |
|
|
@ -207,7 +208,8 @@ public class UIResizableContainer extends JPanel { |
|
|
|
if (verticalToolPane == null || downPane == null) { |
|
|
|
if (verticalToolPane == null || downPane == null) { |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// REPORT-42913 如果用户修改了分辨率或者dpi,可能造成toolPaneY大于parent.getHeight,整个downPane将丢失,因此这里调整下toolPaneY
|
|
|
|
|
|
|
|
adjustToolPaneY(parent); |
|
|
|
if (direction == Constants.RIGHT) { |
|
|
|
if (direction == Constants.RIGHT) { |
|
|
|
if(isDownPaneVisible){ |
|
|
|
if(isDownPaneVisible){ |
|
|
|
upPane.setBounds(0, 0, containerWidth - toolPaneHeight, toolPaneY); |
|
|
|
upPane.setBounds(0, 0, containerWidth - toolPaneHeight, toolPaneY); |
|
|
@ -236,6 +238,18 @@ public class UIResizableContainer extends JPanel { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void adjustToolPaneY(Container parent) { |
|
|
|
|
|
|
|
if (parentHeight == -1) { |
|
|
|
|
|
|
|
// 初始化下parentheight,存一下当前的父容器height
|
|
|
|
|
|
|
|
parentHeight = parent.getHeight(); |
|
|
|
|
|
|
|
} else if (parentHeight != parent.getHeight()) { |
|
|
|
|
|
|
|
// parentHeight与父容器height不等时,代表用户调整分辨率或者dpi了,此时调整toolPaneY
|
|
|
|
|
|
|
|
toolPaneY = toolPaneY * parent.getHeight() / parentHeight; |
|
|
|
|
|
|
|
toolPaneY = Math.min(toolPaneY, (parent.getHeight() - toolPaneHeight)); |
|
|
|
|
|
|
|
parentHeight = parent.getHeight(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public void addLayoutComponent(String name, Component comp) { |
|
|
|
public void addLayoutComponent(String name, Component comp) { |
|
|
|
} |
|
|
|
} |
|
|
@ -540,4 +554,4 @@ public class UIResizableContainer extends JPanel { |
|
|
|
jf.setSize(500, 500); |
|
|
|
jf.setSize(500, 500); |
|
|
|
jf.setVisible(true); |
|
|
|
jf.setVisible(true); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|