Java 朱布顿元';不要更改标签并添加新标签
好的,这应该是一个简单的程序来删除一个标签并添加另一个标签,但是当我点击按钮时,什么都没有发生。我对任何与swing或J相关的东西都是相当陌生的,所以请尽可能解释Java 朱布顿元';不要更改标签并添加新标签,java,swing,button,Java,Swing,Button,好的,这应该是一个简单的程序来删除一个标签并添加另一个标签,但是当我点击按钮时,什么都没有发生。我对任何与swing或J相关的东西都是相当陌生的,所以请尽可能解释 import javax.swing.*; import java.awt.*; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; class JDisappearingFriends{
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
class JDisappearingFriends{
public static void main (String[] args){
JFrame frame1 = new JFrame();
frame1.setVisible(true);
frame1.setSize(100, 100);
frame1.setDefaultCloseOperation(frame1.EXIT_ON_CLOSE);
JLabel label1 = new JLabel();
label1.setText("Hello");
frame1.add(label1);
JLabel label2 = new JLabel();
JButton btnChangeFriends = new JButton("Change Friends");
btnChangeFriends.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
frame1.remove(label1);
label2.setText("Goodbye");
frame1.add(label2);
}
});
frame1.getContentPane().add(btnChangeFriends, BorderLayout.SOUTH);
}
}
最简单的解决方案是只更改标签上的文本:
label1.setText(...);
在GUI中添加/删除组件时,需要调用布局管理器。基本准则是:
panel.remove(...);
panel.add(...);
panel.revalidate();
panel.repaint();