Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 朱布顿元';不要更改标签并添加新标签_Java_Swing_Button - Fatal编程技术网

Java 朱布顿元';不要更改标签并添加新标签

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{

好的,这应该是一个简单的程序来删除一个标签并添加另一个标签,但是当我点击按钮时,什么都没有发生。我对任何与swing或J相关的东西都是相当陌生的,所以请尽可能解释

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