使用GridLayout对齐文本字段输入时出现问题

时间:2013-03-02 14:15:07

标签: java button jtextfield grid-layout

我想使用java框架制作表单。我有两个字段NameAge。输入详细信息后,单击该按钮时,输入的数据必须如下所示显示,但我不确定如何对齐它。

The entered data are:
     FirstName: abcd
     LastName: efg

这是我到目前为止所做的:

import java.awt.*;
import java.awt.event.*;

public class DataEntry {
  public static void main(String[] args) {
         Frame frm=new Frame("DataEntry frame");
         Label lbl = new Label("Please fill this blank:");
         frm.add(lbl);
         frm.setSize(350,200);
         frm.setVisible(true);
         frm.addWindowListener(new WindowAdapter(){
             public void windowClosing(WindowEvent e){
                     System.exit(0);
         }
        });

       Panel p = new Panel();
       Panel p1 = new Panel();
       Label jFirstName = new Label("First Name");
       TextField lFirstName = new TextField(20);
       Label jLastName =new Label("Last Name");
       TextField lLastName=new TextField(20);
       p.setLayout(new GridLayout(3,1));
       p.add(jFirstName);
       p.add(lFirstName);
       p.add(jLastName);
       p.add(lLastName);
       Button Submit=new Button("Submit");
       p.add(Submit);
       p1.add(p);
       frm.add(p1,BorderLayout.NORTH);
  }
} 

2 个答案:

答案 0 :(得分:3)

首先,您需要在单击按钮时向该按钮添加事件。

submit.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e)
         {
             // Add the code to output the relevant details. 
         }
    }

然后由您将相关代码添加到方法体中。 您应该阅读Documentation

答案 1 :(得分:0)

在“提交”按钮中添加一个监听器:

Submit.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        myLabelForShowingTheOutput.setText("<html><body>Name: " + lFirstName + "<br>Last name: " + lLastName + "</body></html>");
    }
});

请注意,“myLabelForShowingTheOutput”是您要打印的JLabel。要打印的文本是基本HTML,因此标签可以显示多行。没有HTML的其他方法是为名称创建一个JLabel,为该年龄创建另一个。另请注意,我确实在输出中输入了姓氏,因为该年龄段没有明显的JTextField。

请记住,变量应以小写字母开头,因此提交将是“提交”。