我有一个Swing窗口,其中包含一个文本框按钮和一个名为flag的JLabel
。根据我点击按钮后的输入,标签应该从标志变为某个值。
如何在同一个窗口中实现这一目标?
答案 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");