mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 03:08:02 +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/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
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -179,7 +177,7 @@ public class DeckImport<TItem extends InventoryItem, TModel extends DeckBase> ex
|
||||
DeckImport.this.processWindowEvent(new WindowEvent(DeckImport.this, WindowEvent.WINDOW_CLOSING));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
ActionListener updateDateCheck = new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
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