先点用一个什么invalidate(这个机不清楚了,好像是这个),在repaint一下,就ok了

解决方案 »

  1.   

    程序中设为true以后要repaint一下.否则你的修改没有反应到画板上去.
      

  2.   

    能不能把代码贴来看看?
    我写了段粗糙代码,怎么没遇到你的问题?import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;class TextRefresh extends JFrame implements ActionListener
    {
     JPanel pane;
     JTextField tf;
     JTextArea ta;
     JButton create;
     
     TextRefresh()
     {
      super("");
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      
      pane=new JPanel();
      tf=new JTextField("TextField");
      ta=new JTextArea(" TextArea");
      create=new JButton("create");
      
      tf.setEditable(false);
      ta.setEditable(false);
      create.addActionListener(this);
      
      pane.setLayout(new GridLayout(3,1));
      pane.add(tf);
      pane.add(ta);
      pane.add(create);
      
      getContentPane().add(pane);
     }
     
     public static void main(String[] args)
     {
      TextRefresh tr=new TextRefresh();
      tr.setSize(200,200);
      tr.show();
        }
     
     public void actionPerformed(ActionEvent e) 
     {
      String arg = e.getActionCommand();  if ("create".equals(arg)) 
      {
       tf.setEditable(true);
       ta.setEditable(true);
      } 
     }
    }
      

  3.   

    好象是换风格的问题,我程序中可以换很多风格,比如java,windows,只有在WINDOWS风格中才会出现 这种问题,我想是不是换风格的问题