JSplitPane如何动态调整左右帧的大小?如何监听窗口变大,缩小的事件?(java中好像没有)

hushuo 2001-07-19 10:48:29
...全文
239 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
masterz 2001-07-19
  • 打赏
  • 举报
回复
JSplitPane jsp;
jsp.addPropertyChangeListener(new java.beans.PropertyChangeListener()
{
public void propertyChange(PropertyChangeEvent e)
{

if(e.getPropertyName().equals(JSplitPane.LAST_DIVIDER_LOCATION_PROPERTY))
{
...//分隔条位置改变了
}
}
});
如何动态调整左右帧的大小
jsp.setDividerLocation(loc);//设定分隔条位置
knight_qmh 2001-07-19
  • 打赏
  • 举报
回复
public class Create extends Frame implements LayoutManager
{
Dimension origin = new Dimension(0, 0);


public Dimension preferredLayoutSize(Container c){return origin;}
public Dimension minimumLayoutSize(Container c){return origin;}
public void addLayoutComponent(String s, Component c) {}
public void removeLayoutComponent(Component c) {}
public void layoutContainer(Container c) {
Rectangle b = c.getBounds();
int inset = 4;
//fieldPanel.setBounds(120+8,25+8,200,90);
//setBounds()里取相对位置就可以了
}
}
cming 2001-07-19
  • 打赏
  • 举报
回复
监听Frame变大变小的事件
this.addComponentListener(new java.awt.event.ComponentAdapter()
{
public void componentResized(ComponentEvent e)
{
sp.setDividerLocation(0.5);// 比例
//or sp.setDividerLocation(200);绝对
}
});
hushuo 2001-07-19
  • 打赏
  • 举报
回复
to bobosji:
不行。
bobosji 2001-07-19
  • 打赏
  • 举报
回复
父窗口采用BorderLayout就可以了
hushuo 2001-07-19
  • 打赏
  • 举报
回复
to masterz:
我的意思是当splitpane的divider不移动(无法监听上面的propertychange event),
而是它的父窗口变化(如变大)时,希望此时splitpane可以自动调整其divider的
位置。

to knight_qmh:
your code implements a layoutmanager, but 如何解决此处的问题,不理解??

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧