|
|
|
@ -45,6 +45,7 @@ public class UIResizableContainer extends JPanel {
|
|
|
|
|
private boolean isLeftRightDragEnabled = true; |
|
|
|
|
private boolean isDownPaneVisible = true ; |
|
|
|
|
private int paraHeight; |
|
|
|
|
private int parentHeight = -1; |
|
|
|
|
|
|
|
|
|
public UIResizableContainer(int direction) { |
|
|
|
|
this(new JPanel(), new JPanel(), direction); |
|
|
|
@ -207,7 +208,8 @@ public class UIResizableContainer extends JPanel {
|
|
|
|
|
if (verticalToolPane == null || downPane == null) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// REPORT-42913 如果用户修改了分辨率或者dpi,可能造成toolPaneY大于parent.getHeight,整个downPane将丢失,因此这里调整下toolPaneY
|
|
|
|
|
adjustToolPaneY(parent); |
|
|
|
|
if (direction == Constants.RIGHT) { |
|
|
|
|
if(isDownPaneVisible){ |
|
|
|
|
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(); |
|
|
|
|
} |
|
|
|
|
if (parentHeight != parent.getHeight() && (parent.getHeight() - toolPaneHeight) >= 0) { |
|
|
|
|
// 调整toolPaneY,保证至少水平的拖拽条horizontToolPane不丢失
|
|
|
|
|
toolPaneY = Math.min(toolPaneY, parent.getHeight() - toolPaneHeight); |
|
|
|
|
parentHeight = parent.getHeight(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void addLayoutComponent(String name, Component comp) { |
|
|
|
|
} |
|
|
|
@ -540,4 +554,4 @@ public class UIResizableContainer extends JPanel {
|
|
|
|
|
jf.setSize(500, 500); |
|
|
|
|
jf.setVisible(true); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|