在正在运行的应用程序上Swing JLabel文本更改

时间:2011-07-05 05:19:42

标签: java swing jlabel

我有一个Swing窗口,其中包含一个文本框按钮和一个名为flag的JLabel。根据我点击按钮后的输入,标签应该从标志变为某个值。

如何在同一个窗口中实现这一目标?

2 个答案:

答案 0 :(得分:7)

import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.event.*;
public class Test extends JFrame implements ActionListener
{
    private JLabel label;
    private JTextField field;
    public Test()
    {
        super("The title");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setPreferredSize(new Dimension(400, 90));
        ((JPanel) getContentPane()).setBorder(new EmptyBorder(13, 13, 13, 13) );
        setLayout(new FlowLayout());
        JButton btn = new JButton("Change");
        btn.setActionCommand("myButton");
        btn.addActionListener(this);
        label = new JLabel("flag");
        field = new JTextField(5);
        add(field);
        add(btn);
        add(label);
        pack();
        setLocationRelativeTo(null);
        setVisible(true);
        setResizable(false);
    }
    public void actionPerformed(ActionEvent e)
    {
        if(e.getActionCommand().equals("myButton"))
        {
            label.setText(field.getText());
        }
    }
    public static void main(String[] args)
    {
        new Test();
    }
}

答案 1 :(得分:6)

使用setText(str)的{​​{1}}方法动态更改显示的文字。在actionPerform of button中写下:

JLabel

一个简单的演示代码将是:

jLabel.setText("new Value");