【发布时间】:2014-08-09 00:30:09
【问题描述】:
我能够让代码做我想做的事,只是我现在无法从中获得输入。我现在要做的仍然是从 JTextfield 获取文本并将其返回到创建框架对象的主要方法。有人可以帮我从以下代码中获取输入吗?
package assignment5;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Frame2 extends JDialog implements ActionListener
{
private String a;
private JTextField field = new JTextField(30);
public Frame2(JFrame parent, String title, String message)
{
super(parent, title, true);
if (parent != null)
{
this.setSize(500,150);
this.setLocation(400,200);
}
JPanel messagePane = new JPanel();
messagePane.add(new JLabel(message));
getContentPane().add(messagePane, BorderLayout.PAGE_START);
JPanel buttonPane = new JPanel();
JPanel button2Pane = new JPanel();
JButton button = new JButton("OK");
JButton button2 = new JButton("Cancel");
buttonPane.add(button);
button2Pane.add(button2);
getContentPane().add(buttonPane, BorderLayout.PAGE_END);
getContentPane().add(button2Pane,BorderLayout.EAST);
//button.addActionListener(this);
button.addActionListener(new ActionListener()
{
@Override
public void actionPerformed( ActionEvent event)
{
parent.dispose();
}
});
button2.addActionListener(new ActionListener()
{
@Override
public void actionPerformed( ActionEvent event)
{
parent.dispose();
}
});
JPanel textPane = new JPanel();
JTextField field = new JTextField(30);
textPane.add(field);
getContentPane().add(textPane, BorderLayout.CENTER);
field.addActionListener(this);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
//pack();
setVisible(true);
}
public void b ()
{
a = field.getText();
}
public String g ()
{
System.out.println("wasdfsdf" + a);
return a;
}
@Override
public void actionPerformed(ActionEvent event)
{
a = field.getText();
System.out.println("wasdfsdfsafddsfsdfsdfsafdsggsdfsdf" + a);
// TODO Auto-generated method stub
}
}
【问题讨论】:
-
您的问题是什么?是如何从 JTextField 中获取值?
-
使用我编写的代码,我需要帮助从调用 MyFrame2 ojbect 的构造函数的方法中的 JTextField 获取值。我尝试制作一个 get 方法,但它不起作用。我认为的问题是程序试图在文本字段被填充之前从文本字段获取输入。
-
奇特,我已经告诉过你如何解决这个问题了。
标签: java swing user-interface jtextfield