Fix so Deck Importer and other JDialogs display centered over main Forge window

This commit is contained in:
drdev
2013-10-08 02:11:50 +00:00
parent 31618c1611
commit adb6a0b7f0
6 changed files with 32 additions and 28 deletions

1
.gitattributes vendored
View File

@@ -15500,6 +15500,7 @@ src/main/java/forge/util/storage/StorageReaderFileSections.java -text
src/main/java/forge/util/storage/StorageReaderFolder.java -text src/main/java/forge/util/storage/StorageReaderFolder.java -text
src/main/java/forge/util/storage/package-info.java -text src/main/java/forge/util/storage/package-info.java -text
src/main/java/forge/view/ButtonUtil.java svneol=native#text/plain src/main/java/forge/view/ButtonUtil.java svneol=native#text/plain
src/main/java/forge/view/FDialog.java -text
src/main/java/forge/view/FFrame.java -text src/main/java/forge/view/FFrame.java -text
src/main/java/forge/view/FNavigationBar.java -text src/main/java/forge/view/FNavigationBar.java -text
src/main/java/forge/view/FTitleBar.java -text src/main/java/forge/view/FTitleBar.java -text

View File

@@ -241,10 +241,9 @@ public class BugReporter {
JOptionPane pane = new JOptionPane(p, JOptionPane.PLAIN_MESSAGE, JOptionPane pane = new JOptionPane(p, JOptionPane.PLAIN_MESSAGE,
JOptionPane.DEFAULT_OPTION, null, options.toArray(), options.get(0)); JOptionPane.DEFAULT_OPTION, null, options.toArray(), options.get(0));
JDialog dlg = pane.createDialog(null, title); JDialog dlg = pane.createDialog(JOptionPane.getRootFrame(), title);
dlg.setSize(showExitAppBtn ? 780 : 600, 400); dlg.setSize(showExitAppBtn ? 780 : 600, 400);
dlg.setResizable(true); dlg.setResizable(true);
dlg.setLocationRelativeTo(null);
dialogShown = true; dialogShown = true;
dlg.setVisible(true); dlg.setVisible(true);
dlg.dispose(); dlg.dispose();

View File

@@ -17,11 +17,8 @@
*/ */
package forge.gui; package forge.gui;
import java.awt.Dimension;
import java.awt.Font; import java.awt.Font;
import java.awt.FontFormatException; import java.awt.FontFormatException;
import java.awt.Rectangle;
import java.awt.Window;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.io.File; import java.io.File;
@@ -50,22 +47,6 @@ public final class GuiUtils {
throw new AssertionError(); throw new AssertionError();
} }
/**
* Centers a frame on the screen based on its current size.
*
* @param frame
* a fully laid-out frame
*/
public static void centerFrame(final Window frame) {
final Dimension screen = frame.getToolkit().getScreenSize();
final Rectangle bounds = frame.getBounds();
bounds.width = frame.getWidth();
bounds.height = frame.getHeight();
bounds.x = (screen.width - bounds.width) / 2;
bounds.y = (screen.height - bounds.height) / 2;
frame.setBounds(bounds);
}
/** /**
* Attempts to create a font from a filename. Concise error reported if * Attempts to create a font from a filename. Concise error reported if
* exceptions found. * exceptions found.

View File

@@ -26,7 +26,6 @@ import java.util.Calendar;
import java.util.List; import java.util.List;
import javax.swing.BorderFactory; import javax.swing.BorderFactory;
import javax.swing.JDialog;
import javax.swing.JEditorPane; import javax.swing.JEditorPane;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.border.TitledBorder; import javax.swing.border.TitledBorder;
@@ -44,7 +43,6 @@ import forge.deck.DeckBase;
import forge.deck.DeckRecognizer; import forge.deck.DeckRecognizer;
import forge.deck.DeckRecognizer.TokenType; import forge.deck.DeckRecognizer.TokenType;
import forge.deck.DeckSection; import forge.deck.DeckSection;
import forge.gui.GuiUtils;
import forge.gui.deckeditor.controllers.ACEditorBase; import forge.gui.deckeditor.controllers.ACEditorBase;
import forge.gui.toolbox.FButton; import forge.gui.toolbox.FButton;
import forge.gui.toolbox.FCheckBox; import forge.gui.toolbox.FCheckBox;
@@ -55,6 +53,7 @@ import forge.gui.toolbox.FScrollPane;
import forge.gui.toolbox.FTextArea; import forge.gui.toolbox.FTextArea;
import forge.item.PaperCard; import forge.item.PaperCard;
import forge.item.InventoryItem; import forge.item.InventoryItem;
import forge.view.FDialog;
/** /**
* *
@@ -63,7 +62,7 @@ import forge.item.InventoryItem;
* @param <TItem> * @param <TItem>
* @param <TModel> * @param <TModel>
*/ */
public class DeckImport<TItem extends InventoryItem, TModel extends DeckBase> extends JDialog { public class DeckImport<TItem extends InventoryItem, TModel extends DeckBase> extends FDialog {
private static final long serialVersionUID = -5837776824284093004L; private static final long serialVersionUID = -5837776824284093004L;
private final FTextArea txtInput = new FTextArea(); private final FTextArea txtInput = new FTextArea();
@@ -122,7 +121,6 @@ public class DeckImport<TItem extends InventoryItem, TModel extends DeckBase> ex
this.setPreferredSize(new java.awt.Dimension(wWidth, wHeight)); this.setPreferredSize(new java.awt.Dimension(wWidth, wHeight));
this.setSize(wWidth, wHeight); this.setSize(wWidth, wHeight);
GuiUtils.centerFrame(this);
this.setResizable(false); this.setResizable(false);
this.setTitle("Deck Importer"); this.setTitle("Deck Importer");

View File

@@ -28,11 +28,11 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import javax.swing.JDialog;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.SwingConstants; import javax.swing.SwingConstants;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import forge.Card; import forge.Card;
import forge.CounterType; import forge.CounterType;
@@ -44,6 +44,7 @@ import forge.gui.toolbox.FButton;
import forge.gui.toolbox.FLabel; import forge.gui.toolbox.FLabel;
import forge.gui.toolbox.FScrollPane; import forge.gui.toolbox.FScrollPane;
import forge.gui.toolbox.FSkin; import forge.gui.toolbox.FSkin;
import forge.view.FDialog;
import forge.view.arcane.CardPanel; import forge.view.arcane.CardPanel;
/** /**
@@ -59,7 +60,7 @@ public class VAssignDamage {
// Width and height of blocker dialog // Width and height of blocker dialog
private final int wDlg = 700; private final int wDlg = 700;
private final int hDlg = 500; private final int hDlg = 500;
private final JDialog dlg = new JDialog(); private final FDialog dlg = new FDialog();
// Damage storage // Damage storage
private final int totalDamageToAssign; private final int totalDamageToAssign;

View File

@@ -0,0 +1,24 @@
package forge.view;
import javax.swing.JDialog;
import javax.swing.JOptionPane;
@SuppressWarnings("serial")
public class FDialog extends JDialog {
public FDialog() {
this(true);
}
public FDialog(boolean modal0) {
super(JOptionPane.getRootFrame(), modal0);
}
@Override
public void setVisible(boolean visible) {
if (visible) {
setLocationRelativeTo(JOptionPane.getRootFrame());
}
super.setVisible(visible);
}
}