我再来一次......与秋千作战!所以我正在创建一个将在applet中显示的在线测试。测试中的问题数量不固定,因此我需要根据测试提出问题。为了显示问题,我创建了一个问题jpanel,然后我添加到applet中显示的容器面板。对于容器面板,我使用的是boxlayout,它允许我将问题叠加在另一个上面。
我的问题是,在向容器面板添加超过5个问题后,问题开始重叠。那么有人可以指导我吗?
首先,我该如何避免重叠? 第二,jpanel是否有固定的最大尺寸?或者有没有办法让它足够大以适应面板容器中的所有测试问题?我想将面板嵌入到jscrollpane中,或者我不知道一旦容器面板嵌入到applet中,当我向下滚动浏览器时它会向下滚动...谢谢你们的任何帮助
这是一张没有太多问题时的样子......
这是代码......
public class Test extends JPanel {
public Test() {
setLayout(null);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(0, 5, 712, 1200);
add(scrollPane);
JPanel panel = new JPanel();
scrollPane.setViewportView(panel);
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
MultipleChoice q1 = new MultipleChoice();
panel.add(q1);
MultipleChoice q2 = new MultipleChoice();
panel.add(q2);
MultipleChoice q3 = new MultipleChoice();
panel.add(q3);
MultipleChoice q4 = new MultipleChoice();
panel.add(q4);
MultipleChoice q5 = new MultipleChoice();
panel.add(q5);
}
}
答案 0 :(得分:2)
我猜,我所能做的就是在没有sscce的情况下猜测,但如果您的MultipleChoice JPanel使用null布局,那么它将无法为布局管理器提供合适的preferredSize重叠的组件。如果是这样,那么解决方案就是不使用null布局,几乎永远。
您在评论中说明:
我认识好友......但是当我对波动不太了解时,我怎么能更具体?我正在使用Windowbuilder,这是将容器布局设置为绝对时给出的布局。