简体   繁体   English

如何通过代码编辑awt文本字段

[英]how to edit awt textfield via code

I can't find out how to change text in my AWT textboxes. 我找不到如何在AWT文本框中更改文本的方法。 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);  
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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