2013-03-30 49 views
-1

你能帮助我吗?向其他班级投入一个值

下面是代码第一:

public RegistrationForm(){ 

    super("Registration Form (Assignment One)"); 
    setLayout(new GridLayout(6,2)); 

    l[0] = new JLabel("Name: "); 
    l[0].setFont(new Font("Calibri Head",Font.BOLD,12)); 
    add(l[0]); 

    tf[0] = new JTextField(); 
    tf[0].setToolTipText("Enter Your Full Name"); 
    add(tf[0]); 


    l[1] = new JLabel("Age: "); 
    l[1].setFont(new Font("Calibri Head",Font.BOLD,12)); 
    add(l[1]); 

    tf[1] = new JTextField(); 
    tf[1].setToolTipText("Enter Your Age"); 
    add(tf[1]); 

    l[2] = new JLabel("Birthday: "); 
    l[2].setFont(new Font("Calibri Head",Font.BOLD,12)); 
    add(l[2]); 

    tf[2] = new JTextField(); 
    tf[2].setToolTipText("Enter Your Birthday"); 
    add(tf[2]); 

    l[3] = new JLabel("Address: "); 
    l[3].setFont(new Font("Calibri Head",Font.BOLD,12)); 
    add(l[3]); 

    tf[3] = new JTextField(); 
    tf[3].setToolTipText("Enter Your Address"); 
    add(tf[3]); 

    l[4] = new JLabel("Contact Number: "); 
    l[4].setFont(new Font("Calibri Head",Font.BOLD,12)); 
    add(l[4]); 

    tf[4] = new JTextField(); 
    tf[4].setToolTipText("Enter Your Contact Number"); 
    add(tf[4]); 

    b[0] = new JButton("Submit"); 
    b[0].addActionListener(this); 
    add(b[0]); 

    b[1] = new JButton("Clear"); 
    b[1].addActionListener(this); 
    add(b[1]); 
} 

所以当我输入一个值,all,然后按“提交”前一次的等级将关闭,其他类将打开,那里将展示的东西的价值我从上一堂课输入。 。 。

JTextfields没有默认值,我将自己输入值。

我该如何向其他班级抛出(我的意思是通过)值?

这里是我的代码至今:

这是我的方法:

public String name(){ 
return tf[0].getText(); 
} 

这是从我的其他类:

public Form{ 
RegistrationForm form = new RegistrationForm(); 

JTextField name = form.name(); 
add(name); 
} 
+5

你不是'抛出任何东西。 “'扔'”已经有了意义。你的意思是“通过”? – wchargin

+0

我想要获取在RegistrationForm类中的JTextFields中插入的值。 。 我可以不用gui吗? – user2226703

+0

@ user2226703:这没有意义。您试图从Swing GUI组件获取数据。如何在没有GUI的情况下做到这一点? –

回答

3

你不需要扔任何东西。无论显示此对话框的哪个类都将持有对此类实例的引用,并且可以在对话返回后简单地查询字段的状态。如果对话窗口是一个模态对话框,比如模态JDialog或JOptionPane,那么这更容易

例如,请看我的代码this example

编辑
此外,这让我困惑:

public Form{ 
    RegistrationForm form = new RegistrationForm(); 

    JTextField name = form.name(); 
    add(name); 
} 

此代码是否显示RegistrationForm对象? RegistrationForm实际上是一种模态JDialog吗?从一个GUI中提取JTextField并将其添加到另一个GUI是非常不寻常的,我很确定你不想这样做。同样,你想要做的是:

  • 显示您RegistrationForm作为模式的JDialog。
  • 它返回后,调用RegistrationForm对象上的getter方法,该对象提取对象文本字段中的字符串。

有关更多详细信息,您仍然需要告诉我们更多关于您的代码和问题的信息。

+0

但你能把价值传递给另一个班吗? 我想做一个方法,它一直显示一个空值。 。 。 – user2226703

+0

@ user2226703:Swing GUI对象可以从非Swing对象获取彼此相同的信息。您的程序中可能存在一个错误,如果我们能够帮助您,您需要告诉我们或向我们展示更多信息。 –

+0

它就是这样。 。 。 你能帮我吗? 你可以替代我的代码或修复它吗? – user2226703

相关问题