mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +00:00
Fix so Deck Importer and other JDialogs display centered over main Forge window
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -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
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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");
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
24
src/main/java/forge/view/FDialog.java
Normal file
24
src/main/java/forge/view/FDialog.java
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user