只要将JTextField  msg=new JTextField("This is a TextField");一句改为:
final JTextField  msg=new JTextField("This is a TextField");即可。

解决方案 »

  1.   

    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;public class GUI
    {
    //--------------------------
    JTextField  msg=new JTextField("This is a TextField");public static void main(String args[])
      {
      JFrame f=new JFrame("Hello,JFram");
      Container c=f.getContentPane(); //获得 f 的内容窗格,以容器变量 c 来引用
      c.setLayout(new BorderLayout());
      //-----------------------
      //JTextField  msg=new JTextField("This is a TextField");
      //--------------
      JButton but_ok=new JButton("OK");
      JButton but_cancel=new JButton("Cancel");
        
      
      

  2.   


    关于变量作用域的问题。关键 JTextField  msg;
    要放在调用方法可访问的地方。msg = ...;
    赋值语句的位置不是太重要。