2012-08-10 4 views
0

메신저가 null 포인터 오류가 있습니다. 나는 System.out.print에 의해 버튼 인쇄를 시도하고 작동한다. 나는 정말로 무엇이 잘못되었는지 모른다. 어떤 실수도해서 미안하다.버튼으로 텍스트 필드의 텍스트를 변경합니다.

import javax.swing.JFrame; 
import javax.swing.JButton; 
import javax.swing.JTextField; 
import java.awt.event.ActionListener; 
import java.awt.event.ActionEvent; 
import java.awt.FlowLayout; 
import java.awt.Container; 

class ChangeText implements ActionListener{ 
    JButton button; 
    JTextField tfield; 
    public ChangeText(){ 
     JFrame frame = new JFrame(); 

     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setTitle("Change Text"); 
     frame.setLayout(new FlowLayout()); 


     JTextField tfield = new JTextField("old text"); 
     JButton button = new JButton("Change Text"); 
     button.addActionListener(this); 

     frame.add(tfield); 
     frame.add(button); 

     frame.pack(); 
     frame.setVisible(true); 
    } 

    public static void main(String[] args){ 
     ChangeText ct = new ChangeText(); 
    } 


    public void actionPerformed(ActionEvent e){ 
     tfield.setText(null); 
    } 


} 

편집 : :이 라인의 JTextField의 로컬 복사본을 만드는

java.lang.NullPointerException 
    at ChangeText.actionPerformed(ChangeText.java:42) 
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) 
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) 
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) 
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source) 
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) 
    at java.awt.Component.processMouseEvent(Unknown Source) 
    at javax.swing.JComponent.processMouseEvent(Unknown Source) 
    at java.awt.Component.processEvent(Unknown Source) 
    at java.awt.Container.processEvent(Unknown Source) 
    at java.awt.Component.dispatchEventImpl(Unknown Source) 
    at java.awt.Container.dispatchEventImpl(Unknown Source) 
    at java.awt.Component.dispatchEvent(Unknown Source) 
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) 
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) 
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) 
    at java.awt.Container.dispatchEventImpl(Unknown Source) 
    at java.awt.Window.dispatchEventImpl(Unknown Source) 
    at java.awt.Component.dispatchEvent(Unknown Source) 
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 
    at java.awt.EventQueue.access$000(Unknown Source) 
    at java.awt.EventQueue$3.run(Unknown Source) 
    at java.awt.EventQueue$3.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) 
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) 
    at java.awt.EventQueue$4.run(Unknown Source) 
    at java.awt.EventQueue$4.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) 
    at java.awt.EventQueue.dispatchEvent(Unknown Source) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
    at java.awt.EventDispatchThread.run(Unknown Source) 
+0

null 포인터는 어디에 있습니까? stacktrace 표시 –

+0

게시물을 편집했습니다. 감사. 나는 아직 스택 추적에 익숙하지 않아서 당신이 요구하는 것이 확실하지 않다. 죄송합니다. – devanon

답변

0

버튼을 눌러

JTextField tfield = new JTextField("old text"); 

이 그것을

을 할 때이 내가 무엇을 얻을 여기에 코드입니다
tfield = new JTextField("old text"); 

(그래서 tfield 멤버가 인스턴스화됩니다.) 모든 것이 좋을 것입니다 :

+0

오. 바보 나. 고마워. – devanon

관련 문제