它的滚动条怎么还不出现啊,急死人啦 int width = l1.getX() + l1.getWidth(); int height = l1.getX() + l1.getHeight(); jvp.setPreferredSize(new Dimension(width ,height)); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 而且,里面的控件的Size必须大于JScrolledPane的Size JScrollPane和JScrolledPane有什么不一样啊?还有本来某控件在非可视区域,但是拖动滚动条,那个控件也还是不出现,非要把窗口拉大来才能看得到? 设置了JViewport.setPreferredSize(new Dimension(width ,height)),只要width与height大于最右下的控件,不管怎么拖都行 JViewport.setPreferredSize(new Dimension(width ,height))不需要放在drag事件中去吗?还是JViewport是自动的处理。你们一般看什么jfc方面的书 怎么去找到最右下那个控件呢?如果最右下是个Icon呢?那可怎么办。 怎么去找到最右下那个控件呢?如果最右下是个Icon呢?那可怎么办。 循环去找啦 private void resetPrerredSize(JComponent container) { Component c = null; Component components[] = container.getComponents(); int nCount = container.getComponentCount(); int maxWidth = 0, maxHeight = 0; int currentWidth = 0, currentHeight = 0; for (int i = 0; i < nCount; i++) { c = components[i]; currentWidth = (int) (c.getLocation().getX() + c.getWidth()); currentHeight = (int) (c.getLocation().getY() + c.getHeight()); if (currentWidth > maxWidth) { maxWidth = currentWidth; } if (currentHeight > maxHeight) { maxHeight = currentHeight; } } container.setPreferredSize(new Dimension(maxWidth + 10, maxHeight + 10)); Container jScrollPane = (Container)jPanel.getParent(); if (jScrollPane != null) jScrollPane.validate(); } 谢谢阿土仔,你们都这样子做的吗?呵呵!我没有多少开发jfc方面的经验。以后还望多多请教。 那窗口内的组件可以找到,面板上的Icon就认不出来呀,这个我也不知道怎么办。 我看了JViewport有下面几个方法返回Dimesion的,不知道能不能直接应用getMaximumSize();getMinimumSize();getViewSize(); linux环境下java开发问题 13 求达人帮忙啊,救急 急救:谁有JAVA的时间选择器控件 !!!如何用java找到网上邻居用户!!! HashMap是不是可以完全的取代HashTable?谢谢 请教几个关于数字的正则表达式,多谢!! 有关找工作和面试的问题,来者有分!!!!!!!!!!! 我用jar打包文件出错,信息如下: 向JFrame加入自定义的一个窗口,继承于JPanel,为什么只有改变窗口大小时才能显示? 我是一个初学java者,有一道简单的练习题请大家帮忙写一下,多谢了。 求救!在线等待!!
只要width与height大于最右下的控件,不管怎么拖都行
不需要放在drag事件中去吗?还是JViewport是自动的处理。你们一般看什么jfc方面的书
{
Component c = null;
Component components[] = container.getComponents(); int nCount = container.getComponentCount();
int maxWidth = 0, maxHeight = 0;
int currentWidth = 0, currentHeight = 0;
for (int i = 0; i < nCount; i++)
{
c = components[i];
currentWidth = (int) (c.getLocation().getX() + c.getWidth());
currentHeight = (int) (c.getLocation().getY() + c.getHeight());
if (currentWidth > maxWidth)
{
maxWidth = currentWidth;
}
if (currentHeight > maxHeight)
{
maxHeight = currentHeight;
}
}
container.setPreferredSize(new Dimension(maxWidth + 10, maxHeight + 10));
Container jScrollPane = (Container)jPanel.getParent();
if (jScrollPane != null)
jScrollPane.validate();
}
呵呵!我没有多少开发jfc方面的经验。
以后还望多多请教。
getMaximumSize();
getMinimumSize();
getViewSize();