- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 JScrollPane 中有一个对象。随着对象高度的增加和减少,JScrollBar 出现和消失。
有没有办法检测到这种情况何时发生?
我想在 JScrollPane 出现时加宽整个 JScrollPane,这样 Object 的最右边部分就不会被 JScrollBars 遮挡,反之亦然。
最佳答案
您可以轻松地监听组件大小的变化,如下所示:
JPanel object = new JPanel ();
object.addComponentListener ( new ComponentAdapter ()
{
public void componentResized ( ComponentEvent e )
{
// Your object size changed
}
} );
JScrollPane scrollPane = new JScrollPane ( object );
但这可能无法解决您的特定目标。
如果您不希望滚动 Pane 的垂直滚动条妨碍您的对象,您可以使用一个小技巧来愚弄滚动 Pane 和您的对象。检查这个例子:
public class Example
{
public static void main ( String[] args )
{
final MyObject object = new MyObject ();
final JScrollPane scrollPane = new JScrollPane ( object )
{
public Dimension getPreferredSize ()
{
final Dimension ps = super.getPreferredSize ();
final JScrollBar vsb = getVerticalScrollBar ();
final Insets i = getInsets ();
ps.width = object.getPreferredWidth () + ( vsb.isShowing () ? vsb.getPreferredSize ().width : 0 ) + i.left + i.right;
return ps;
}
};
}
public static class MyObject extends JPanel
{
public Dimension getPreferredSize ()
{
final Dimension ps = super.getPreferredSize ();
ps.width = 0;
return ps;
}
public int getPreferredWidth ()
{
return super.getPreferredSize ().width;
}
}
}
这将迫使...
...组件返回零首选宽度,以便滚动 Pane 始终将其缩小到其当前内部 View 可用宽度。
...滚动 Pane 根据其实际内容的首选宽度返回修改后的首选宽度,因此它仍然可以获得正确显示对象所需的位置。
这个例子可以根据情况进行修改。例如,对于您可能放置滚动 Pane 的不同容器布局,它可能会有所不同。
关于java - JScrollPane JScrollBar 住宿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18938147/
我有一个调度问题,我正在尝试找出最适合使用的算法。 酒店拥有主题公园,是入住酒店游客的一大亮点。但是,对于想去主题公园的游客,酒店的房间多于一日通行证。因此在高峰期,有些人可能无法去主题公园。 我们希
我在 JScrollPane 中有一个对象。随着对象高度的增加和减少,JScrollBar 出现和消失。 有没有办法检测到这种情况何时发生? 我想在 JScrollPane 出现时加宽整个 JScro
多年来我一直在编写 php 代码,现在我终于要制作自己的项目了,我希望它非常优化和 Shiny 。所以,我一直在网上搜索我应该使用哪种编程语言来满足我的需要(快速、安全、易于理解、可定制),所有指向
我是一名优秀的程序员,十分优秀!