gpt4 book ai didi

java - (JAVA) 添加新组件时如何实现滚动?

转载 作者:太空宇宙 更新时间:2023-11-04 10:58:35 26 4
gpt4 key购买 nike

如果我添加新组件,滚动 Pane 不会更新。我可以在不创建新的 JScrollPane 的情况下更新它吗?

 public void start(){
getBox_Topics().setBorder(new TitledBorder(new EtchedBorder(),"Topics of vote"));
add(new JScrollPane(getBox_Topics(),
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER));
pack();
setHandler(new ClientHandler_Thread(this));
getHandler().start();
setVisible(true);
}

按钮在 Box 中添加新组件:

enter image description here

最佳答案

Box/JPanel 必须是固定大小。或者它必须有MaximumSize。

public void start(){
getBox_Topics().setBorder(new TitledBorder(new EtchedBorder(),"Topics of vote"));
setScrollPane(new JScrollPane(getBox_Topics()));
add(getScrollPane());
getScrollPane().setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
getBox_Topics().addContainerListener(new ContainerListener() {
@Override
public void componentAdded(ContainerEvent containerEvent) {
getScrollPane().revalidate();
getScrollPane().repaint();
}

@Override
public void componentRemoved(ContainerEvent containerEvent) {

}
});
pack();
setHandler(new ClientHandler_Thread(this));
getHandler().start();
setVisible(true);
}

关于java - (JAVA) 添加新组件时如何实现滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47138962/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com