public class BorLay
{
BorLay()
{
JFrame frame=new JFrame("Connect");
JPanel panel=new JPanel();
frame.setLayout(new BorderLayout());
frame.add(panel,BorderLayout.CENTER);
panel.add(new JTextField("Click1"));
panel.add(new JTextField("Click2"));
frame.setVisible(true);
frame.setSize(400,500);
}
public static void main(String args[])
{
new BorLay();
}
}
上面的代码在将JPanel添加到JFrame时不起作用。但是,如果将JTextField直接添加到JFrame,它会起作用。
要使包含文本字段的面板居中,请将其添加到GridBagLayout
。
红色边框显示了包含它们的面板如何不增大以填充父容器(内容窗格)。
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
public class BorLay {
BorLay() {
JFrame frame = new JFrame("Connect");
JPanel panel = new JPanel();
panel.setBorder(new LineBorder(Color.RED, 2));
frame.setLayout(new GridBagLayout());
frame.add(panel);
panel.add(new JTextField("Click1"));
panel.add(new JTextField("Click2"));
frame.setVisible(true);
frame.setSize(200, 100); // make bigger as per need
}
public static void main(String args[]) {
new BorLay();
}
}