diff options
author | Simon Rettberg | 2015-07-28 15:12:16 +0200 |
---|---|---|
committer | Simon Rettberg | 2015-07-28 15:12:16 +0200 |
commit | c268e549a7f30c13ddf90971ec6744031f420c22 (patch) | |
tree | 604d134ad23091ded938bf8be401c6b68daddffd /dozentenmodul/src/main/java/org/openslx/dozmod | |
parent | [client] Use font anti-aliasing (diff) | |
download | tutor-module-c268e549a7f30c13ddf90971ec6744031f420c22.tar.gz tutor-module-c268e549a7f30c13ddf90971ec6744031f420c22.tar.xz tutor-module-c268e549a7f30c13ddf90971ec6744031f420c22.zip |
[client] Re-introduce parent param to showMessageBox (needed for proper placement)
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod')
5 files changed, 33 insertions, 27 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/App.java b/dozentenmodul/src/main/java/org/openslx/dozmod/App.java index 252b847e..094678f4 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/App.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/App.java @@ -98,7 +98,7 @@ public class App { try { Config.init(); } catch (Exception e) { - Gui.showMessageBox("Error loading configuration", MessageType.ERROR, LOGGER, e); + Gui.showMessageBox(null, "Error loading configuration", MessageType.ERROR, LOGGER, e); return; } diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/Gui.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/Gui.java index 675ddf64..73585797 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/Gui.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/Gui.java @@ -1,5 +1,6 @@ package org.openslx.dozmod.gui; +import java.awt.Component; import java.awt.Frame; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; @@ -241,13 +242,14 @@ public class Gui { * Generic helper to show a message box to the user, and optionally log the * message to the log file. * + * @param parent partent window (used for positioning) * @param message Message to display. Can be multi line. * @param messageType Type of message (warning, information) * @param logger Logger instance to log to. Can be null. * @param exception Exception related to this message. Can be null. * @return true if OK or YES was clicked, false for CANCEL/NO/(X) */ - public static boolean showMessageBox(String message, MessageType messageType, Logger logger, + public static boolean showMessageBox(Component parent, String message, MessageType messageType, Logger logger, Throwable exception) { if (logger != null) logger.log(messageType.logPriority, message, exception); @@ -255,10 +257,10 @@ public class Gui { message += "\n\n" + exception.getClass().getSimpleName() + "\n" + exception.getMessage() + "\n" + " (Siehe Logdatei)"; if (messageType.buttons == -1) { - JOptionPane.showMessageDialog(null, message, messageType.title, messageType.optionPaneId); + JOptionPane.showMessageDialog(parent, message, messageType.title, messageType.optionPaneId); return true; } - int ret = JOptionPane.showConfirmDialog(null, message, messageType.title, messageType.buttons + int ret = JOptionPane.showConfirmDialog(parent, message, messageType.title, messageType.buttons , messageType.optionPaneId); return ret == JOptionPane.OK_OPTION || ret == JOptionPane.YES_OPTION; diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java index 820f5b21..4b6098e0 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java @@ -63,8 +63,8 @@ public abstract class MainWindow { currentPage = pages.get(clazz); if (currentPage == null) { - Gui.showMessageBox("Tried to show unknown page " + clazz.getSimpleName(), MessageType.ERROR, - LOGGER, null); + Gui.showMessageBox(mainWindow, "Tried to show unknown page " + clazz.getSimpleName(), + MessageType.ERROR, LOGGER, null); Gui.exit(1); return; } @@ -109,7 +109,8 @@ public abstract class MainWindow { return Gui.syncExec(new GuiCallable<Boolean>() { @Override public Boolean run() { - return Gui.showMessageBox(THRIFT_CONNECTION_ERROR, MessageType.ERROR_RETRY, LOGGER, t); + return Gui.showMessageBox(mainWindow, THRIFT_CONNECTION_ERROR, + MessageType.ERROR_RETRY, LOGGER, t); } }); } @@ -122,18 +123,17 @@ public abstract class MainWindow { Gui.asyncExec(new Runnable() { @Override public void run() { - Gui.showMessageBox("Konnte Programmeinstellungen nicht speichern", MessageType.WARNING, - LOGGER, t); + Gui.showMessageBox(mainWindow, "Konnte Programmeinstellungen nicht speichern", + MessageType.WARNING, LOGGER, t); } }); } }); // Global key listener - KeyboardFocusManager.getCurrentKeyboardFocusManager() - .addKeyEventDispatcher(new KeyEventDispatcher() { - @Override - public boolean dispatchKeyEvent(KeyEvent event) { + KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new KeyEventDispatcher() { + @Override + public boolean dispatchKeyEvent(KeyEvent event) { if (event.getKeyChar() == 17) { // Ctrl-Q = Quit askApplicationQuit(); event.consume(); @@ -180,7 +180,8 @@ public abstract class MainWindow { */ protected static void askApplicationQuit() { // TODO: Only ask if an upload or download is running,, wizard is open etc.. - if (Gui.showMessageBox("Are you sure you want to quit?", MessageType.QUESTION_YESNO, null, null)) { + if (Gui.showMessageBox(mainWindow, "Are you sure you want to quit?", MessageType.QUESTION_YESNO, + null, null)) { QuickTimer.cancel(); Gui.exit(0); } @@ -204,16 +205,16 @@ public abstract class MainWindow { // the File menu button JMenuBar menuBar = new JMenuBar(); mainWindow.setJMenuBar(menuBar); - + JMenu cascadeFileMenu = new JMenu("&File"); menuBar.add(cascadeFileMenu); JMenuItem exitItem = new JMenuItem("&Exit"); cascadeFileMenu.add(exitItem); - + exitItem.addMouseListener(new MouseAdapter() { @Override - public void mousePressed(MouseEvent arg0) { + public void mouseClicked(MouseEvent arg0) { askApplicationQuit(); } }); @@ -226,17 +227,17 @@ public abstract class MainWindow { JMenuItem virtualizerNoticeItem = new JMenuItem("&Virtualizer"); cascadeAboutMenu.add(disclaimerItem); cascadeAboutMenu.add(virtualizerNoticeItem); - + disclaimerItem.addMouseListener(new MouseAdapter() { @Override - public void mousePressed(MouseEvent arg0) { + public void mouseClicked(MouseEvent arg0) { DisclaimerWindow.open(false); } }); virtualizerNoticeItem.addMouseListener(new MouseAdapter() { @Override - public void mousePressed(MouseEvent arg0) { + public void mouseClicked(MouseEvent arg0) { VirtualizerNoticeWindow.open(false); } }); diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/VirtualizerNoticeWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/VirtualizerNoticeWindow.java index 841faf8a..5358ceec 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/VirtualizerNoticeWindow.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/VirtualizerNoticeWindow.java @@ -5,6 +5,7 @@ import java.awt.event.ActionListener; import org.apache.log4j.Logger; import org.openslx.dozmod.Config; +import org.openslx.dozmod.gui.MainWindow; import org.openslx.dozmod.gui.window.layout.VirtualizerNoticeWindowLayout; public class VirtualizerNoticeWindow extends VirtualizerNoticeWindowLayout { @@ -52,7 +53,9 @@ public class VirtualizerNoticeWindow extends VirtualizerNoticeWindowLayout { } public static void open(boolean modal) { - new VirtualizerNoticeWindow(modal).setVisible(true); + VirtualizerNoticeWindow win = new VirtualizerNoticeWindow(modal); + MainWindow.centerShell(win); + win.setVisible(true); } } diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/VirtualizerNoticeWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/VirtualizerNoticeWindowLayout.java index 2742d931..f85b1dbc 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/VirtualizerNoticeWindowLayout.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/VirtualizerNoticeWindowLayout.java @@ -9,6 +9,7 @@ import java.awt.Font; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JButton; +import javax.swing.JCheckBox; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JPanel; @@ -16,7 +17,7 @@ import javax.swing.JPanel; public abstract class VirtualizerNoticeWindowLayout extends JDialog { private static final String title = "Hinweis VMWare Player"; private static final String infoText = "<html><body style='width:100%'>" - + "Für die Arbeit mit der bwLehrpool Suite wird zwingend ein VMWare Player benötigt. " + + "Für die Arbeit mit der bwLehrpool Suite wird zwingend der <b>VMWare Player</b> benötigt. " + "Diesen können Sie sich unter folgendem Link kostenfrei downloaden. " + "Wenn Sie bereits den VMWare Player oder die VMWare Workstation installiert haben, können Sie diesen Hinweis ignorieren." + "</body></html>"; @@ -25,7 +26,7 @@ public abstract class VirtualizerNoticeWindowLayout extends JDialog { protected JButton windowsDLButton; protected JButton linuxDLButton; - protected JButton readCheck; + protected JCheckBox readCheck; protected JButton continueButton; public VirtualizerNoticeWindowLayout(boolean modal) { @@ -56,9 +57,9 @@ public abstract class VirtualizerNoticeWindowLayout extends JDialog { // Bottom controls JPanel bottomPane = new JPanel(); - bottomPane.setLayout(new BoxLayout(infoPane, BoxLayout.PAGE_AXIS)); + bottomPane.setLayout(new BoxLayout(bottomPane, BoxLayout.LINE_AXIS)); - readCheck = new JButton("Diese Benachrichtigung nicht mehr anzeigen"); + readCheck = new JCheckBox("Diese Benachrichtigung nicht mehr anzeigen"); bottomPane.add(readCheck); bottomPane.add(Box.createHorizontalGlue()); @@ -69,8 +70,7 @@ public abstract class VirtualizerNoticeWindowLayout extends JDialog { final Container content = getContentPane(); content.add(infoPane, BorderLayout.CENTER); content.add(bottomPane, BorderLayout.PAGE_END); - + pack(); } - }
\ No newline at end of file |