diff options
author | Simon Rettberg | 2015-08-12 19:24:49 +0200 |
---|---|---|
committer | Simon Rettberg | 2015-08-12 19:24:49 +0200 |
commit | 8074f567ae86b026fc27d657cebccef6cbcedc17 (patch) | |
tree | 03a3b63322a5856d4f48f466e0cc4b61c21d2fc2 /dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard | |
parent | [server] Update lecture/latestversionid links when image versions are created... (diff) | |
download | tutor-module-8074f567ae86b026fc27d657cebccef6cbcedc17.tar.gz tutor-module-8074f567ae86b026fc27d657cebccef6cbcedc17.tar.xz tutor-module-8074f567ae86b026fc27d657cebccef6cbcedc17.zip |
[client] Fix positioning of Wizard
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java index d2c5019c..75aefae2 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java @@ -35,6 +35,7 @@ public abstract class Wizard extends JDialog { private final List<WizardPage> pages = new ArrayList<>(); private final JPanel contentPanel; private int currentPage = -1; + private boolean needsLayout = true; private final JButton btnPrev; private final JButton btnNext; @@ -89,22 +90,9 @@ public abstract class Wizard extends JDialog { // setPreferredSize(new Dimension(550, 420)); setResizable(false); - // TODO this seems broken: it only center the (still) empty frame - // later when the page is shown, it won't be centered correctly. - // Centered is the top left corner of this frame, not the actual - // center of the pages! - MainWindow.centerShell(this); // Window events addWindowListener(new WindowAdapter() { @Override - public void windowOpened(WindowEvent e) { - e.getWindow().pack(); - if (!pages.isEmpty()) { - showPage(0); - } - } - - @Override public void windowClosing(WindowEvent we) { doCancel(); } @@ -136,6 +124,20 @@ public abstract class Wizard extends JDialog { }); } + @SuppressWarnings("deprecation") + @Override + public void show() { + if (needsLayout) { + needsLayout = false; + pack(); + if (!pages.isEmpty()) { + showPage(0); + } + MainWindow.centerShell(this); + } + super.show(); + } + private void showPage(int index) { if (currentPage != -1) { WizardPage old = pages.get(currentPage); |