import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class DialogTest extends JFrame {
private final JButton btShow;
private JDialog dialog;
public DialogTest() {
btShow = new JButton("Show dialog");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
btShow.addActionListener(new ActionListener() {
@Override
public void actionPerformed(final ActionEvent evt) {
dialog = new JDialog(DialogTest.this, "JDialog", true);
dialog.setSize(300, 200);
dialog.getContentPane().addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(final ComponentEvent e) {
Dimension size = dialog.getSize();
dialog.setSize(size.width, 200);
}
});
dialog.setVisible(true);
}
});
getContentPane().add(btShow, BorderLayout.PAGE_START);
pack();
}
public static void main(final String... args) {
Toolkit.getDefaultToolkit().setDynamicLayout(true);
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new DialogTest().setVisible(true);
}
});
}
}