本文整理汇总了Java中java.awt.Container.getLocation方法的典型用法代码示例。如果您正苦于以下问题:Java Container.getLocation方法的具体用法?Java Container.getLocation怎么用?Java Container.getLocation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类java.awt.Container
的用法示例。
在下文中一共展示了Container.getLocation方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: showComponent
import java.awt.Container; //导入方法依赖的package包/类
/**
* Show the hideable component
*/
public void showComponent() {
if (getHideableComponent().isVisible()) {
return;
}
if (resizeOnVisibilityChange) {
final Container ancestor = getTopLevelAncestor();
if (ancestor == null) {
return;
}
final Rectangle screenBounds = Info.getScreenBounds(ancestor);
final Point ancestorPos = ancestor.getLocation();
final Dimension ancestorSize = ancestor.getSize();
final Dimension prefHSize = getHideableComponent().getPreferredSize();
final Dimension prefBSize = getBaseComponent().getPreferredSize();
double div = 0.0;
int w = 0, h = 0;
switch (getOrientation()) {
case JSplitPane.HORIZONTAL_SPLIT:
w = Math.min(
ancestorSize.width + prefHSize.width,
screenBounds.width - ancestorPos.x
);
h = ancestorSize.height;
div = prefBSize.width/(double)(prefBSize.width + prefHSize.width);
break;
case JSplitPane.VERTICAL_SPLIT:
w = ancestorSize.width;
h = Math.min(
ancestorSize.height + prefHSize.height,
screenBounds.height - ancestorPos.y
);
div = prefBSize.height/(double)(prefBSize.height + prefHSize.height);
break;
}
ancestor.setSize(w, h);
ancestor.validate();
getHideableComponent().setVisible(true);
((BasicSplitPaneUI) getUI()).getDivider().setVisible(true);
final double divPos = div;
SwingUtilities.invokeLater(new Runnable() {
public void run() {
setDividerLocation(divPos);
}
});
}
else {
getHideableComponent().setVisible(true);
((BasicSplitPaneUI) getUI()).getDivider().setVisible(true);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
setDividerLocation(getPreferredDividerLocation());
}
});
final SplitPane split = getTransverseSplit();
if (split != null) {
split.showTransverseComponent(ComponentSplitter.SplitPane.this);
}
}
}