再会,
好的,我能够回答我想要做的事情,所以我想我会发布一个答案以供将来参考。请记住,我的目标是将两个面板附加到 JApplet 上,然后底部面板应该能够容纳尽可能多的 JComponents 并且 Applet 的大小不会改变,但底部面板将可以滚动与 JScrollPane。
如果您在顶部面板中选择了一个对象,然后在下方显示一个面板,您可以控制您选择的对象,这将非常有用。我正在制作一个网络模拟器,在顶部面板中,您有一个网络图,您可以选择一个主机,例如,然后设置其 IP 地址。但是,如果您选择防火墙,例如,您可以确定要阻止哪些端口。
我希望这会有所帮助并感谢@Andrew Thompson。
import java.awt.Dimension;
import javax.swing.BoxLayout;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
public class Applet extends JApplet
{
JPanel p1;
JPanel p2;
JPanel p3;
JScrollPane s1;
public Applet()
{
p1 = new JPanel();
p2 = new JPanel();
p3 = new JPanel();
s1 = new JScrollPane(p3,s1.VERTICAL_SCROLLBAR_ALWAYS,s1.HORIZONTAL_SCROLLBAR_ALWAYS);
}
@Override
public void init()
{
super.init();
for(int i=0;i<100;i++)
{
p3.add(new JButton("Hello"));
p3.add(new JLabel("blah"));
p3.add(new JButton("Sup"));
}
p1.setPreferredSize(new Dimension(this.getWidth(), this.getHeight()));
p2.setPreferredSize(new Dimension(this.getWidth(),(int) (this.getHeight()*0.6667)));
p3.setLayout(new BoxLayout(p3,BoxLayout.PAGE_AXIS));
s1.setPreferredSize(new Dimension(this.getWidth(),(int)(this.getHeight()*0.33333)));
p1.add(p2);
p1.add(s1);
this.add(p1);
}
}