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/package-info.java -text
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/FNavigationBar.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.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.setResizable(true);
dlg.setLocationRelativeTo(null);
dialogShown = true;
dlg.setVisible(true);
dlg.dispose();

View File

@@ -17,11 +17,8 @@
*/
package forge.gui;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.FontFormatException;
import java.awt.Rectangle;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
@@ -50,22 +47,6 @@ public final class GuiUtils {
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
* exceptions found.

View File

@@ -26,7 +26,6 @@ import java.util.Calendar;
import java.util.List;
import javax.swing.BorderFactory;
import javax.swing.JDialog;
import javax.swing.JEditorPane;
import javax.swing.JOptionPane;
import javax.swing.border.TitledBorder;
@@ -44,7 +43,6 @@ import forge.deck.DeckBase;
import forge.deck.DeckRecognizer;
import forge.deck.DeckRecognizer.TokenType;
import forge.deck.DeckSection;
import forge.gui.GuiUtils;
import forge.gui.deckeditor.controllers.ACEditorBase;
import forge.gui.toolbox.FButton;
import forge.gui.toolbox.FCheckBox;
@@ -55,6 +53,7 @@ import forge.gui.toolbox.FScrollPane;
import forge.gui.toolbox.FTextArea;
import forge.item.PaperCard;
import forge.item.InventoryItem;
import forge.view.FDialog;
/**
*
@@ -63,7 +62,7 @@ import forge.item.InventoryItem;
* @param <TItem>
* @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 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.setSize(wWidth, wHeight);
GuiUtils.centerFrame(this);
this.setResizable(false);
this.setTitle("Deck Importer");

View File

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