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 String title = "Scrypt";
|
||||
static String version = "v0.2";
|
||||
static String version = "(Alpha 0.3)";
|
||||
static Dimension winSize = new Dimension(1280, 720);
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
|
|
@ -37,7 +37,9 @@ public class Window implements Runnable {
|
|||
JMenu editMenu;
|
||||
JFileChooser browser;
|
||||
JButton quitButton;
|
||||
JMenuItem fileMenuItem1, fileMenuItem2, fileMenuItem3;
|
||||
JButton saveOptionDialogButton;
|
||||
JButton discardOptionDialogButton;
|
||||
JMenuItem fileMenuOpen, fileMenuSave, fileMenuClose;
|
||||
JPanel fileExplorer;
|
||||
JPanel mainPanel;
|
||||
RTextScrollPane scrollPane;
|
||||
|
@ -50,7 +52,7 @@ public class Window implements Runnable {
|
|||
double version;
|
||||
Dimension winSize;
|
||||
|
||||
Object[] options = {"Save", "Discard"};
|
||||
Object[] options = {null, null};
|
||||
|
||||
public void setup() {
|
||||
menuBar.add(fileMenu);
|
||||
|
@ -58,9 +60,9 @@ public class Window implements Runnable {
|
|||
menuBar.add(Box.createHorizontalGlue());
|
||||
menuBar.add(quitButton);
|
||||
|
||||
fileMenu.add(fileMenuItem1);
|
||||
fileMenu.add(fileMenuItem2);
|
||||
fileMenu.add(fileMenuItem3);
|
||||
fileMenu.add(fileMenuOpen);
|
||||
fileMenu.add(fileMenuSave);
|
||||
fileMenu.add(fileMenuClose);
|
||||
|
||||
browser.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
|
@ -78,25 +80,31 @@ public class Window implements Runnable {
|
|||
}
|
||||
});
|
||||
|
||||
fileMenuItem1.addActionListener(new ActionListener() {
|
||||
fileMenuOpen.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
status = browser.showOpenDialog(window);
|
||||
}
|
||||
});
|
||||
|
||||
fileMenuItem2.addActionListener(new ActionListener() {
|
||||
fileMenuSave.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
if (isFileOpened) {
|
||||
Save.saveFile(p);
|
||||
} else {
|
||||
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
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
textArea.setText(null);
|
||||
|
@ -125,12 +133,38 @@ public class Window implements Runnable {
|
|||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
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 {
|
||||
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.setBackground(new Color(0, 0, 0));
|
||||
|
@ -164,9 +198,13 @@ public class Window implements Runnable {
|
|||
fileMenu = new JMenu("File");
|
||||
editMenu = new JMenu("Edit");
|
||||
quitButton = new JButton("Quit");
|
||||
fileMenuItem1 = new JMenuItem("Open");
|
||||
fileMenuItem2 = new JMenuItem("Save");
|
||||
fileMenuItem3 = new JMenuItem("Close File");
|
||||
saveOptionDialogButton = new JButton("Save");
|
||||
discardOptionDialogButton = new JButton("Discard");
|
||||
options[0] = saveOptionDialogButton;
|
||||
options[1] = discardOptionDialogButton;
|
||||
fileMenuOpen = new JMenuItem("Open");
|
||||
fileMenuSave = new JMenuItem("Save");
|
||||
fileMenuClose = new JMenuItem("Close");
|
||||
browser = new JFileChooser("");
|
||||
fileExplorer = new JPanel();
|
||||
mainPanel = new JPanel();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue