简体   繁体   中英

how to edit awt textfield via code

I can't find out how to change text in my AWT textboxes. I already tried this:

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

or

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

None of them works. What could be this issue?

Look this example how I am setting text to text field

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);  
    }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM