对我来说很好。
import java.awt.*;import java.awt.event.*;import javax.swing.*;public class FlowLayoutInvisible extends Jframe implements ActionListener{ JPanel north; int i; public FlowLayoutInvisible() { north = new JPanel(); for (int i = 0; i < 5; i++) { JButton button = new JButton("North - " + i); button.addActionListener(this); north.add(button); } getContentPane().add(north, BorderLayout.NORTH); } public void actionPerformed(ActionEvent e) { Component c = (Component)e.getSource(); c.setVisible(false); ((JPanel)c.getParent()).revalidate(); } public static void main(String[] args) { FlowLayoutInvisible frame = new FlowLayoutInvisible(); frame.setDefaultCloseOperation( EXIT_ON_CLOSE ); frame.pack(); frame.setLocationRelativeTo( null ); frame.setVisible(true); }}
如果您需要更多帮助,请发布SSCCE。
更新:我不知道是否需要revalidate()。我似乎曾经有过一个问题,但现在我无法重复这个问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)