Re: Layout Doesn't Work
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.Timer;
import javax.swing.WindowConstants;
@SuppressWarnings("serial")
public final class Hide_Show_Label_with_Delay
extends JFrame {
private final JButton button;
private final JLabel label;
private final Timer timer;
private Hide_Show_Label_with_Delay() {
button = new JButton("Show");
label = new JLabel("Label");
timer = new Timer(3000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
button.setEnabled(true); }});
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setResizable(false);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (label.isVisible()) {
label.setVisible(false);
button.setText("Show");
button.setEnabled(false);
timer.start();
} else {
label.setVisible(true);
button.setText("Hide");
button.setEnabled(false);
timer.start();
} }});
GroupLayout layout
= new GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setAutoCreateGaps(true);
layout.setAutoCreateContainerGaps(true);
layout.setHonorsVisibility(label, Boolean.FALSE);
layout.setHorizontalGroup(
layout.createSequentialGroup()
.addComponent(button)
.addComponent(label));
layout.setVerticalGroup(
layout.createParallelGroup(
GroupLayout.Alignment.BASELINE)
.addComponent(button)
.addComponent(label));
pack();
label.setPreferredSize(label.getPreferredSize());
label.setVisible(false);
setVisible(true);
}
public static void main(String args[]) {
final Hide_Show_Label_with_Delay gui
= new Hide_Show_Label_with_Delay();
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
gui.setVisible(true); }});
}
}