日期:2014-05-20 浏览次数:20792 次
import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; public class E4 extends JFrame { private JDialog jd; private JButton jb; private JLabel jl; JTextField jta = new JTextField(""); public E4() { JFrame jf = new JFrame("事件"); jb = new JButton("开始"); jl = new JLabel("结果"); jd = new JDialog(this, "对话框", true); jd.setBounds(200, 200, 200, 200); jta.setPreferredSize(new Dimension(100,20)); String s = jta.getText(); jl.setText(s); jb.addActionListener(new MyListener()); jf.setLayout(new FlowLayout()); jf.add(jb); jd.add(jl); jf.add(jta); setBounds(400, 400, 400, 400); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.setSize(400, 400); jf.setVisible(true); } class MyListener implements ActionListener { public void actionPerformed(ActionEvent e) { jl.setText(jta.getText()); jd.setVisible(true); } } public static void main(String[] args) { // TODO Auto-generated method stub new E4(); } }
------解决方案--------------------
你在监听器里面什么没有帮啊,只是设置为显示而已。
你需要在里面加上jl.setText(jta.getText()).
这样的话你的jta也要声明在构造方法以外
否则后面识别不了
------解决方案--------------------
楼主你好,你点按钮后进入到相应事件后,应该在响应事件中处理你所述的情况,所以响应事件中应该处理这两个情况,1.获得你输入文本域的内容,String mes=jta.getText();2。将得到的内容显示到对话框中,jl.setText(str);将这两句加入到响应事件中,当然这里你应该注意,把jta声明时放在构造函数外面,不然内部类无法访问