我正在尝试在我的applet顶部创建总共三个文本字段,两个应该相互对齐,一个直接位于它们中间的下方,所以它应该如下所示:-_-
但是,我确信你只能在一个位置分配一个组件,所以我该怎么做呢
public class JTextFieldTest extends JApplet {
public String s;
public TextField T1;
public TextField T2;
public void init(){
TextField T1 = new TextField(20);
TextField T2 = new TextField(20);
JButton b1 = new JButton("Add word to list ");
GreetingPanel panel = new GreetingPanel();
add(T1, BorderLayout.NORTH);
add(T2, BorderLayout.NORTH);
add(panel, BorderLayout.CENTER);
add(b1, BorderLayout.SOUTH);
}
class GreetingPanel extends JPanel{
public void paintComponent(Graphics g){
super.paintComponent(g);
g.setColor(Color.blue);
}}
public void paint(Graphics g){
super.paint(g);
g.drawString(s, 20, 20);
}
}
答案 0 :(得分:0)
您可以在布局中嵌套布局。因此,如果您想在BorderLayout
的北部使用两个按钮,请选择适合您的风格的布局。请将其放入。在BorderLayout中使用BorderLayout,你可以再次获得rootLayout北部BorderLayout的所有位置!
修改强>
因此,如果您是全新的,我建议您使用JavaFX
代替Swing
。在那里,您可以轻松实现目标。
HBox hBox = new HBox();
BorderPane mainPane = new BorderPane();
mainPane.setTop(hBox);
hBox.getChildren().addAll(new TextField(), new Label("hi", ...);
JavaFX到处都有很多教程,例如: this one here for layouts from Oracle