import java.awt.BorderLayout; import java.awt.Container; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.io.File; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JToolBar; public class ServerGui extends JFrame{ /** * */ private static final long serialVersionUID = 1L; public ServerGui(){ super("Random Number Server"); //text.setLineWrap(true); menuBar.add(menuFile); menuBar.add(menuAbout); toolbar.add(openButton); toolbar.add(saveButton); toolbar.setBorderPainted(true); menuFile.add(OpenItem ); OpenItem.setAction(openAction); SaveItem.setAction(saveAction); CloseItem.setAction(closeAction); openButton.setAction(openAction); openButton.setText(""); saveButton.setAction(saveAction); saveButton.setText(""); AboutItem.setAction(aboutAction); menuFile.add(SaveItem ); menuFile.addSeparator(); menuFile.add(CloseItem); menuAbout.add(AboutItem); add(statusBar, BorderLayout.SOUTH); add(toolbar, BorderLayout.PAGE_START); setJMenuBar(menuBar); // statusBar.setMessage("SKATA OLE"); pack(); setSize(640, 480); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } Container pane = this.getContentPane(); //JTextArea text = new JTextArea(""); /* JScrollPane jsp=new JScrollPane(text, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);*/ JMenuBar menuBar = new JMenuBar(); JMenu menuFile = new JMenu("Αρχειο"); JMenu menuAbout = new JMenu("Περι..."); JMenuItem OpenItem = new JMenuItem(); JMenuItem SaveItem = new JMenuItem(); JMenuItem CloseItem = new JMenuItem(); JMenuItem AboutItem = new JMenuItem(); JToolBar toolbar = new JToolBar(); JButton openButton = new JButton(); JButton saveButton = new JButton(); Action openAction = new OpenAction(); Action saveAction = new saveAction(); Action closeAction = new closeAction(); Action aboutAction=new aboutAction(); final JFileChooser fcOpen = new JFileChooser(); final JFileChooser fcSave = new JFileChooser(); StatusBar statusBar = new StatusBar(); private static ImageIcon createImageIcon(String path, String description) { java.net.URL imgURL = tryThreadedServer.class.getResource(path); if (imgURL != null) { return new ImageIcon(imgURL, description); } else { System.err.println("Couldn't find file: " + path); return null; } } private class OpenAction extends AbstractAction { public OpenAction() { putValue(NAME, "Άνοιγμα"); putValue(SMALL_ICON, createImageIcon("open.gif", "To icon Open")); } public void actionPerformed(ActionEvent e) { System.out.println("Open Command Pressed"); int returnVal = fcOpen.showOpenDialog(ServerGui.this); if (returnVal == JFileChooser.APPROVE_OPTION) { File file = fcOpen.getSelectedFile(); // text.setText(""); // text.setText(ReadWriteTextFile.getContents(file)); System.out.println("Opening: " + file.getName() + ".\n"); } else { System.out.println("Open Command cancelled by user.\n"); } } } private class saveAction extends AbstractAction { public saveAction() { putValue(NAME, "Σωσιμο"); putValue(SMALL_ICON, createImageIcon("save.gif", "To icon Save")); } public void actionPerformed(ActionEvent e) { int returnVal = fcSave.showSaveDialog(ServerGui.this); if (returnVal == JFileChooser.APPROVE_OPTION) { File file = fcSave.getSelectedFile(); try { // ReadWriteTextFile.setContents(file, text.getText()); } catch (Exception e3) { System.err.println("PAPARIA"); } //This is where a real application would open the file. System.out.println("Saving: " + file.getName() + ".\n"); } else { System.out.println("Save Command cancelled by user.\n"); } } } private class aboutAction extends AbstractAction { public aboutAction() { putValue(NAME, "About"); putValue(SMALL_ICON, createImageIcon("info.gif", "To icon info")); } public void actionPerformed(ActionEvent e) { System.exit(0); //displayResult("Action for first button/menu item", e); } } private class closeAction extends AbstractAction { public closeAction() { putValue(NAME, "Εξοδος"); putValue(SMALL_ICON, createImageIcon("close.gif", "To icon Save")); } public void actionPerformed(ActionEvent e) { System.exit(0); //displayResult("Action for first button/menu item", e); } } public class StatusBar extends JLabel { //private static final long serialVersionUID = 1L; /** Creates a new instance of StatusBar */ public StatusBar() { super(); super.setPreferredSize(new Dimension(100, 16)); setMessage("Ready"); } public void setMessage(String message) { setText(" "+message); } } }