Fixed saving & fixed conditional quitting.
This commit is contained in:
parent
b00c9c40e7
commit
92a40ad4bd
2 changed files with 51 additions and 13 deletions
|
@ -8,7 +8,7 @@ public class Main {
|
||||||
static Window w;
|
static Window w;
|
||||||
|
|
||||||
static String title = "Scrypt";
|
static String title = "Scrypt";
|
||||||
static String version = "v0.2";
|
static String version = "(Alpha 0.3)";
|
||||||
static Dimension winSize = new Dimension(1280, 720);
|
static Dimension winSize = new Dimension(1280, 720);
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|
|
@ -37,7 +37,9 @@ public class Window implements Runnable {
|
||||||
JMenu editMenu;
|
JMenu editMenu;
|
||||||
JFileChooser browser;
|
JFileChooser browser;
|
||||||
JButton quitButton;
|
JButton quitButton;
|
||||||
JMenuItem fileMenuItem1, fileMenuItem2, fileMenuItem3;
|
JButton saveOptionDialogButton;
|
||||||
|
JButton discardOptionDialogButton;
|
||||||
|
JMenuItem fileMenuOpen, fileMenuSave, fileMenuClose;
|
||||||
JPanel fileExplorer;
|
JPanel fileExplorer;
|
||||||
JPanel mainPanel;
|
JPanel mainPanel;
|
||||||
RTextScrollPane scrollPane;
|
RTextScrollPane scrollPane;
|
||||||
|
@ -50,7 +52,7 @@ public class Window implements Runnable {
|
||||||
double version;
|
double version;
|
||||||
Dimension winSize;
|
Dimension winSize;
|
||||||
|
|
||||||
Object[] options = {"Save", "Discard"};
|
Object[] options = {null, null};
|
||||||
|
|
||||||
public void setup() {
|
public void setup() {
|
||||||
menuBar.add(fileMenu);
|
menuBar.add(fileMenu);
|
||||||
|
@ -58,9 +60,9 @@ public class Window implements Runnable {
|
||||||
menuBar.add(Box.createHorizontalGlue());
|
menuBar.add(Box.createHorizontalGlue());
|
||||||
menuBar.add(quitButton);
|
menuBar.add(quitButton);
|
||||||
|
|
||||||
fileMenu.add(fileMenuItem1);
|
fileMenu.add(fileMenuOpen);
|
||||||
fileMenu.add(fileMenuItem2);
|
fileMenu.add(fileMenuSave);
|
||||||
fileMenu.add(fileMenuItem3);
|
fileMenu.add(fileMenuClose);
|
||||||
|
|
||||||
browser.addActionListener(new ActionListener() {
|
browser.addActionListener(new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -78,25 +80,31 @@ public class Window implements Runnable {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
fileMenuItem1.addActionListener(new ActionListener() {
|
fileMenuOpen.addActionListener(new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
status = browser.showOpenDialog(window);
|
status = browser.showOpenDialog(window);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
fileMenuItem2.addActionListener(new ActionListener() {
|
fileMenuSave.addActionListener(new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
if (isFileOpened) {
|
if (isFileOpened) {
|
||||||
Save.saveFile(p);
|
Save.saveFile(p);
|
||||||
} else {
|
} else {
|
||||||
status = browser.showSaveDialog(window);
|
status = browser.showSaveDialog(window);
|
||||||
|
|
||||||
|
if (status == JFileChooser.APPROVE_OPTION) {
|
||||||
|
p = browser.getSelectedFile().getPath();
|
||||||
|
|
||||||
|
Save.saveFile(p);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
fileMenuItem3.addActionListener(new ActionListener() {
|
fileMenuClose.addActionListener(new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
textArea.setText(null);
|
textArea.setText(null);
|
||||||
|
@ -125,13 +133,39 @@ public class Window implements Runnable {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
if (isFileOpened || !textArea.getText().isBlank()) {
|
if (isFileOpened || !textArea.getText().isBlank()) {
|
||||||
JOptionPane.showOptionDialog(window, "Do you want to save your work?", "Unsaved changes!", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE, null, options, options[1]);
|
JOptionPane.showOptionDialog(window, "Do you want to save your work?", "Save before quit?", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE, null, options, options[1]);
|
||||||
} else {
|
} else {
|
||||||
System.exit(0);
|
System.exit(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
saveOptionDialogButton.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
if (isFileOpened) {
|
||||||
|
Save.saveFile(p);
|
||||||
|
System.exit(0);
|
||||||
|
} else {
|
||||||
|
status = browser.showSaveDialog(window);
|
||||||
|
|
||||||
|
if (status == JFileChooser.APPROVE_OPTION) {
|
||||||
|
p = browser.getSelectedFile().getPath();
|
||||||
|
|
||||||
|
Save.saveFile(p);
|
||||||
|
System.exit(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
discardOptionDialogButton.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
System.exit(0);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
fileExplorer.setBorder(new EtchedBorder());
|
fileExplorer.setBorder(new EtchedBorder());
|
||||||
fileExplorer.setBackground(new Color(0, 0, 0));
|
fileExplorer.setBackground(new Color(0, 0, 0));
|
||||||
fileExplorer.setPreferredSize(new Dimension(200, 200));
|
fileExplorer.setPreferredSize(new Dimension(200, 200));
|
||||||
|
@ -164,9 +198,13 @@ public class Window implements Runnable {
|
||||||
fileMenu = new JMenu("File");
|
fileMenu = new JMenu("File");
|
||||||
editMenu = new JMenu("Edit");
|
editMenu = new JMenu("Edit");
|
||||||
quitButton = new JButton("Quit");
|
quitButton = new JButton("Quit");
|
||||||
fileMenuItem1 = new JMenuItem("Open");
|
saveOptionDialogButton = new JButton("Save");
|
||||||
fileMenuItem2 = new JMenuItem("Save");
|
discardOptionDialogButton = new JButton("Discard");
|
||||||
fileMenuItem3 = new JMenuItem("Close File");
|
options[0] = saveOptionDialogButton;
|
||||||
|
options[1] = discardOptionDialogButton;
|
||||||
|
fileMenuOpen = new JMenuItem("Open");
|
||||||
|
fileMenuSave = new JMenuItem("Save");
|
||||||
|
fileMenuClose = new JMenuItem("Close");
|
||||||
browser = new JFileChooser("");
|
browser = new JFileChooser("");
|
||||||
fileExplorer = new JPanel();
|
fileExplorer = new JPanel();
|
||||||
mainPanel = new JPanel();
|
mainPanel = new JPanel();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue