我想要做的是在我的 BorderLayout 的中心放置一个 GridBagLayout 面板,并将 GridBagLayout 面板(/和上面的文本)垂直对齐到顶部(因为它会自动将它放在中间,水平和垂直)。
所以我基本上尝试过(但最终让 GridBagLayout 的文本仍然在页面的中间,而不是在中间 x 和顶部 y):
import java.awt.*;
import java.applet.*;
import javax.swing.*;
import javax.imageio.*;
import javax.swing.BorderFactory;
import javax.swing.border.*;
import java.awt.event.*;
public class Test extends JApplet implements MouseListener, ActionListener {
public void init() {
//create borderlayout
this.setLayout(new BorderLayout());
//create a GridBagLayout panel
JPanel gb = new JPanel(new GridBagLayout());
JLabel content = new JLabel("Some text");
//set GridBagConstraints (gridx,gridy,fill,anchor)
setGBC(0, 0, GridBagConstraints.VERTICAL, GridBagConstraints.NORTH);
gb.add(content, gbc); //gbc is containing the GridBagConstraints
this.add(gb, BorderLayout.CENTER);
}
}
所以我尝试使用 gridbagconstraints 锚点将对齐方式设置为垂直于北上,但这似乎不起作用。我还尝试调整 GridBagLayout 面板本身的大小(使用 panel.setSize 和 setPreferredSize 使其具有布局的全高 100%),然后使用 gridbagconstraints.anchor 垂直对齐其上的元素,但这不起作用任何一个。
谁能帮我解决这个问题?
提前致谢,
最好的问候, Skyfe。
所以我的问题是