X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=micropeak%2FMicroPeak.java;fp=micropeak%2FMicroPeak.java;h=7d3e20d8d1a4f308692ebe9158582a370aa408be;hp=eb08c5527a3516edcbc12e6efd403f983ebe405e;hb=0743e7213729df629aea90b3a5dc904fe397b5cb;hpb=7dd23ac750226746f340df64107dab84cd7ea113 diff --git a/micropeak/MicroPeak.java b/micropeak/MicroPeak.java index eb08c552..7d3e20d8 100644 --- a/micropeak/MicroPeak.java +++ b/micropeak/MicroPeak.java @@ -37,8 +37,30 @@ public class MicroPeak extends MicroFrame implements ActionListener, ItemListene MicroData data; Container container; JTabbedPane pane; + JMenuBar menu_bar; static int number_of_windows; + /* File menu */ + final static String open_command = "open"; + final static String save_command = "save"; + final static String export_command = "export"; + final static String preferences_command = "preferences"; + final static String close_command = "close"; + final static String exit_command = "exit"; + + static final String[][] file_menu_entries = new String[][] { + { "Open", open_command }, + { "Save a Copy", save_command }, + { "Export Data", export_command }, + { "Preferences", preferences_command }, + { "Close", close_command }, + { "Exit", exit_command }, + }; + + /* Download menu */ + final static String download_command = "download"; + final static String download_label = "Download"; + MicroPeak SetData(MicroData data) { MicroPeak mp = this; if (this.data != null) { @@ -174,20 +196,20 @@ public class MicroPeak extends MicroFrame implements ActionListener, ItemListene } public void actionPerformed(ActionEvent ev) { - if ("Exit".equals(ev.getActionCommand())) - System.exit(0); - else if ("Close".equals(ev.getActionCommand())) - Close(); - else if ("Open".equals(ev.getActionCommand())) + if (open_command.equals(ev.getActionCommand())) SelectFile(); - else if ("Download".equals(ev.getActionCommand())) - DownloadData(); - else if ("Export".equals(ev.getActionCommand())) + else if (save_command.equals(ev.getActionCommand())) + Save(); + else if (export_command.equals(ev.getActionCommand())) Export(); - else if ("Preferences".equals(ev.getActionCommand())) + else if (preferences_command.equals(ev.getActionCommand())) Preferences(); - else if ("Save a Copy".equals(ev.getActionCommand())) - Save(); + else if (close_command.equals(ev.getActionCommand())) + Close(); + else if (exit_command.equals(ev.getActionCommand())) + System.exit(0); + else if (download_command.equals(ev.getActionCommand())) + DownloadData(); } public void itemStateChanged(ItemEvent e) { @@ -225,6 +247,29 @@ public class MicroPeak extends MicroFrame implements ActionListener, ItemListene return 1.0; } + private void add_menu(JMenu menu, String label, String action) { + JMenuItem item = new JMenuItem(label); + menu.add(item); + item.addActionListener(this); + item.setActionCommand(action); + } + + + private JMenu make_menu(String label, String[][] items) { + JMenu menu = new JMenu(label); + for (int i = 0; i < items.length; i++) { + if (MAC_OS_X) { + if (items[i][1].equals("exit")) + continue; + if (items[i][1].equals("preferences")) + continue; + } + add_menu(menu, items[i][0], items[i][1]); + } + menu_bar.add(menu); + return menu; + } + public MicroPeak() { ++number_of_windows; @@ -238,43 +283,15 @@ public class MicroPeak extends MicroFrame implements ActionListener, ItemListene setTitle("MicroPeak"); - JMenuBar menuBar = new JMenuBar(); - setJMenuBar(menuBar); - - JMenu fileMenu = new JMenu("File"); - menuBar.add(fileMenu); - - JMenuItem openAction = new JMenuItem("Open"); - fileMenu.add(openAction); - openAction.addActionListener(this); - - JMenuItem downloadAction = new JMenuItem("Download"); - fileMenu.add(downloadAction); - downloadAction.addActionListener(this); - - JMenuItem saveAction = new JMenuItem("Save a Copy"); - fileMenu.add(saveAction); - saveAction.addActionListener(this); - - JMenuItem exportAction = new JMenuItem("Export"); - fileMenu.add(exportAction); - exportAction.addActionListener(this); - - JMenuItem preferencesAction = new JMenuItem("Preferences"); - fileMenu.add(preferencesAction); - preferencesAction.addActionListener(this); - - JMenuItem closeAction = new JMenuItem("Close"); - fileMenu.add(closeAction); - closeAction.addActionListener(this); + menu_bar = new JMenuBar(); + setJMenuBar(menu_bar); - JMenuItem exitAction = new JMenuItem("Exit"); - fileMenu.add(exitAction); - exitAction.addActionListener(this); + JMenu file_menu = make_menu("File", file_menu_entries); - JButton downloadButton = new JButton ("Download"); - downloadButton.addActionListener(this); - menuBar.add(downloadButton); + JButton download_button = new JButton (download_label); + download_button.setActionCommand(download_command); + download_button.addActionListener(this); + menu_bar.add(download_button); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); addWindowListener(new WindowAdapter() { @@ -303,12 +320,7 @@ public class MicroPeak extends MicroFrame implements ActionListener, ItemListene container.validate(); doLayout(); validate(); - Insets i = getInsets(); - Dimension ps = pane.getPreferredSize(); - ps.width += i.left + i.right; - ps.height += i.top + i.bottom; -// setPreferredSize(ps); - setSize(ps); + pack(); setVisible(true); }