2014-11-05 2 views
0

AWT 텍스트 상자에서 텍스트를 변경하는 방법을 찾을 수 없습니다. 그 중코드를 통해 awt 텍스트 필드를 편집하는 방법

textBox1.setText("text"); 
textBox1.validate(); 

또는

textBox1.setText("text"); 
textBox1.repaint(); 

없음 작동하지 않습니다 : 이미이 시도. 이 문제가 무엇이겠습니까?

+0

난 당신이 더 많은 코드를 추가 할 필요가 있다고 생각 텍스트 필드에 텍스트를 설정하고 방법이 예. setText를 호출하면 즉시 변경됩니다. – Stefan

+0

그것이 그것이 내가해야한다고 생각하는 것이다. 그러나 분명히 그것은 아닙니다 ... 코드의 어떤 부분을보고 싶습니까? 예 : 텍스트 상자 초기화? –

+0

더 나은 도움을 받으려면 [MCVE] (http://stackoverflow.com/help/mcve) (최소한의 완전하고 검증 가능한 예)를 게시하십시오. –

답변

1

봐 내가

import java.awt.*; 
import java.awt.event.*; 

public class AwtControlDemo { 

    private Frame mainFrame; 
    private Label headerLabel; 
    private Label statusLabel; 
    private Panel controlPanel; 

    public AwtControlDemo(){ 
     prepareGUI(); 
    } 

    public static void main(String[] args){ 
     AwtControlDemo awtControlDemo = new AwtControlDemo(); 
     awtControlDemo.showTextFieldDemo(); 
    } 

    private void prepareGUI(){ 
     mainFrame = new Frame("Java AWT Examples"); 
     mainFrame.setSize(400,400); 
     mainFrame.setLayout(new GridLayout(3, 1)); 
     mainFrame.addWindowListener(new WindowAdapter() { 
      public void windowClosing(WindowEvent windowEvent){ 
       System.exit(0); 
      }   
     });  
     headerLabel = new Label(); 
     headerLabel.setAlignment(Label.CENTER); 
     statusLabel = new Label();   
     statusLabel.setAlignment(Label.CENTER); 
     statusLabel.setSize(350,100); 

     controlPanel = new Panel(); 
     controlPanel.setLayout(new FlowLayout()); 

     mainFrame.add(headerLabel); 
     mainFrame.add(controlPanel); 
     mainFrame.add(statusLabel); 
     mainFrame.setVisible(true); 
    } 

    private void showTextFieldDemo(){ 
     headerLabel.setText("Control in action: TextField"); 

     Label namelabel= new Label("User ID: ", Label.CENTER); 
     final TextField userText = new TextField(16); 
     userText.setText("name"); 
     Button displayButton = new Button("Display"); 
     displayButton.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) {  
       String data = "Username: " + userText.getText(); 
       statusLabel.setText(data);   
      } 
     }); 

     controlPanel.add(namelabel); 
     controlPanel.add(userText); 
     controlPanel.add(displayButton); 
     mainFrame.setVisible(true); 
    } 
} 
+0

그래서 textField를 정의해야합니다. 그러나 편집하는 데 문제가 있습니다. –

+1

음 .. 텍스트 필드에서 텍스트를 설정하는 코드의 유일한 행은 다음과 같습니다. 'userText.setText ("name");' 맞습니까? –

+0

@ MartinPlávek 절대적으로 –

관련 문제