mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-26 22:41:59 -04:00
added a screen resolution dependant JFileChooser
This commit is contained in:
parent
1bbb30b44f
commit
8957a87bcf
@ -906,7 +906,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
|
||||
if (filename != null)
|
||||
folder = filename.getParentFile();
|
||||
|
||||
JFileChooser fileChooser = new JFileChooser(folder);
|
||||
JFileChooser fileChooser = new MyFileChooser(folder);
|
||||
fileChooser.setFileFilter(new FileNameExtensionFilter("Circuit", "dig"));
|
||||
return fileChooser;
|
||||
}
|
||||
@ -1034,7 +1034,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
JFileChooser fc = new JFileChooser();
|
||||
JFileChooser fc = new MyFileChooser();
|
||||
if (filename != null)
|
||||
fc.setSelectedFile(SaveAsHelper.checkSuffix(filename, suffix));
|
||||
|
||||
|
@ -15,6 +15,7 @@ import de.neemann.digital.lang.Lang;
|
||||
import de.neemann.digital.testing.TestData;
|
||||
import de.neemann.gui.ErrorMessage;
|
||||
import de.neemann.gui.LineBreaker;
|
||||
import de.neemann.gui.MyFileChooser;
|
||||
import de.neemann.gui.ToolTipAction;
|
||||
import de.neemann.gui.language.Bundle;
|
||||
import de.neemann.gui.language.Language;
|
||||
@ -267,7 +268,7 @@ public final class EditorFactory {
|
||||
JButton button = new JButton(new AbstractAction("...") {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
JFileChooser fc = new JFileChooser(FileEditor.this.getValue());
|
||||
JFileChooser fc = new MyFileChooser(FileEditor.this.getValue());
|
||||
if (fc.showOpenDialog(panel) == JFileChooser.APPROVE_OPTION)
|
||||
textField.setText(fc.getSelectedFile().getPath());
|
||||
}
|
||||
@ -323,7 +324,7 @@ public final class EditorFactory {
|
||||
panel.add(new ToolTipAction(Lang.get("btn_load")) {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
JFileChooser fc = new JFileChooser();
|
||||
JFileChooser fc = new MyFileChooser();
|
||||
fc.setSelectedFile(attr.getFile(ROM.LAST_DATA_FILE_KEY));
|
||||
fc.setFileFilter(new FileNameExtensionFilter("hex", "hex"));
|
||||
if (fc.showOpenDialog(panel) == JFileChooser.APPROVE_OPTION) {
|
||||
@ -353,7 +354,7 @@ public final class EditorFactory {
|
||||
panel.add(new ToolTipAction(Lang.get("btn_save")) {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
JFileChooser fc = new JFileChooser();
|
||||
JFileChooser fc = new MyFileChooser();
|
||||
fc.setSelectedFile(attr.getFile(ROM.LAST_DATA_FILE_KEY));
|
||||
fc.setFileFilter(new FileNameExtensionFilter("hex", "hex"));
|
||||
new SaveAsHelper(panel, fc, "hex").checkOverwrite(
|
||||
|
@ -8,6 +8,7 @@ import de.neemann.digital.gui.SaveAsHelper;
|
||||
import de.neemann.digital.gui.components.OrderMerger;
|
||||
import de.neemann.digital.gui.sync.Sync;
|
||||
import de.neemann.digital.lang.Lang;
|
||||
import de.neemann.gui.MyFileChooser;
|
||||
import de.neemann.gui.ToolTipAction;
|
||||
|
||||
import javax.swing.*;
|
||||
@ -83,7 +84,7 @@ public class DataSetDialog extends JDialog implements ModelStateObserver {
|
||||
file.add(new ToolTipAction(Lang.get("menu_saveData")) {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
JFileChooser fileChooser = new JFileChooser();
|
||||
JFileChooser fileChooser = new MyFileChooser();
|
||||
fileChooser.setFileFilter(new FileNameExtensionFilter("Comma Separated Values", "csv"));
|
||||
new SaveAsHelper(DataSetDialog.this, fileChooser, "csv")
|
||||
.checkOverwrite(file -> dataSet.saveCSV(file));
|
||||
|
@ -1,6 +1,7 @@
|
||||
package de.neemann.digital.gui.components.table;
|
||||
|
||||
import de.neemann.digital.lang.Lang;
|
||||
import de.neemann.gui.Screen;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
@ -28,7 +29,7 @@ public class AllSolutionsDialog extends JDialog {
|
||||
textPane.setFont(font);
|
||||
textPane.putClientProperty(JEditorPane.HONOR_DISPLAY_PROPERTIES, true);
|
||||
textPane.setEditable(false);
|
||||
textPane.setPreferredSize(new Dimension(600, 400));
|
||||
textPane.setPreferredSize(Screen.getInstance().scale(new Dimension(600, 400)));
|
||||
|
||||
getContentPane().add(new JScrollPane(textPane));
|
||||
pack();
|
||||
|
@ -38,6 +38,7 @@ import de.neemann.digital.gui.components.AttributeDialog;
|
||||
import de.neemann.digital.gui.components.ElementOrderer;
|
||||
import de.neemann.digital.lang.Lang;
|
||||
import de.neemann.gui.ErrorMessage;
|
||||
import de.neemann.gui.MyFileChooser;
|
||||
import de.neemann.gui.Screen;
|
||||
import de.neemann.gui.ToolTipAction;
|
||||
|
||||
@ -249,7 +250,7 @@ public class TableDialog extends JDialog {
|
||||
fileMenu.add(new ToolTipAction(Lang.get("menu_open")) {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
JFileChooser fc = new JFileChooser();
|
||||
JFileChooser fc = new MyFileChooser();
|
||||
if (TableDialog.this.filename != null)
|
||||
fc.setSelectedFile(SaveAsHelper.checkSuffix(TableDialog.this.filename, "tru"));
|
||||
if (fc.showOpenDialog(TableDialog.this) == JFileChooser.APPROVE_OPTION) {
|
||||
@ -268,7 +269,7 @@ public class TableDialog extends JDialog {
|
||||
fileMenu.add(new ToolTipAction(Lang.get("menu_save")) {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
JFileChooser fc = new JFileChooser();
|
||||
JFileChooser fc = new MyFileChooser();
|
||||
if (TableDialog.this.filename != null)
|
||||
fc.setSelectedFile(SaveAsHelper.checkSuffix(TableDialog.this.filename, "tru"));
|
||||
|
||||
@ -299,7 +300,7 @@ public class TableDialog extends JDialog {
|
||||
fileMenu.add(new ToolTipAction(Lang.get("menu_table_exportHex")) {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
JFileChooser fc = new JFileChooser();
|
||||
JFileChooser fc = new MyFileChooser();
|
||||
if (TableDialog.this.filename != null)
|
||||
fc.setSelectedFile(SaveAsHelper.checkSuffix(TableDialog.this.filename, "hex"));
|
||||
new SaveAsHelper(TableDialog.this, fc, "hex")
|
||||
@ -504,7 +505,7 @@ public class TableDialog extends JDialog {
|
||||
else
|
||||
filename = SaveAsHelper.checkSuffix(filename, suffix);
|
||||
|
||||
JFileChooser fileChooser = new JFileChooser();
|
||||
JFileChooser fileChooser = new MyFileChooser();
|
||||
fileChooser.setFileFilter(new FileNameExtensionFilter("JEDEC", suffix));
|
||||
fileChooser.setSelectedFile(filename);
|
||||
if (fileChooser.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) {
|
||||
@ -544,7 +545,7 @@ public class TableDialog extends JDialog {
|
||||
try {
|
||||
File cuplPath;
|
||||
if (filename == null) {
|
||||
JFileChooser fc = new JFileChooser();
|
||||
JFileChooser fc = new MyFileChooser();
|
||||
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
|
||||
fc.setDialogTitle(Lang.get("msg_selectAnEmptyFolder"));
|
||||
if (fc.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) {
|
||||
|
36
src/main/java/de/neemann/gui/MyFileChooser.java
Normal file
36
src/main/java/de/neemann/gui/MyFileChooser.java
Normal file
@ -0,0 +1,36 @@
|
||||
package de.neemann.gui;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.io.File;
|
||||
|
||||
/**
|
||||
* File chooser that fixes the window size issues.
|
||||
* Created by hneemann on 11.05.17.
|
||||
*/
|
||||
public class MyFileChooser extends JFileChooser {
|
||||
|
||||
/**
|
||||
* Create a new instance
|
||||
*/
|
||||
public MyFileChooser() {
|
||||
super();
|
||||
matchScreenSize();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new instance
|
||||
*
|
||||
* @param folder the folder to use
|
||||
*/
|
||||
public MyFileChooser(File folder) {
|
||||
super(folder);
|
||||
matchScreenSize();
|
||||
}
|
||||
|
||||
private void matchScreenSize() {
|
||||
if (Screen.getInstance().getScaling() != 1)
|
||||
setPreferredSize(Screen.getInstance().scale(new Dimension(505, 326)));
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user