如何在applet北部的位置添加多个文本字段

时间:2015-11-03 23:54:16

标签: java swing jframe jbutton textfield

我正在尝试在我的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);

   }

}

1 个答案:

答案 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