Files
garden-coding-assignment/src/MenuBar.java
2022-06-02 16:32:01 +03:00

86 lines
3.1 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MenuBar extends JMenuBar {
private DataTableModel tableModel;
public MenuBar(DataTableModel tableModel) {
this.tableModel = tableModel;
// Create add submenu
JMenu addMenu = new JMenu("Добавить");
// Row add items
JMenuItem addRowItem = new JMenuItem("Новый ряд (крайний)");
addRowItem.addActionListener(new MenuActionAddRow(tableModel, false));
addMenu.add(addRowItem);
JMenuItem addPositionedRowItem = new JMenuItem("Новый ряд (позиция)");
addPositionedRowItem.addActionListener(new MenuActionAddRow(tableModel, true));
addMenu.add(addPositionedRowItem);
// Column add items
JMenuItem addColumnItem = new JMenuItem("Новый столбец (крайний)");
addColumnItem.addActionListener(new MenuActionAddColumn(tableModel, false));
addMenu.add(addColumnItem);
JMenuItem addPositionedColumnItem = new JMenuItem("Новый столбец (позиция)");
addPositionedColumnItem.addActionListener(new MenuActionAddColumn(tableModel, true));
addMenu.add(addPositionedColumnItem);
// Create delete submenu
JMenu deleteMenu = new JMenu("Удалить");
// Row delete
JMenuItem deleteRowItem = new JMenuItem("Удалить строку");
deleteRowItem.addActionListener(new MenuActionDeleteRow(tableModel));
deleteMenu.add(deleteRowItem);
// Column delete
JMenuItem deleteColumnItem = new JMenuItem("Удалить столбец");
deleteColumnItem.addActionListener(new MenuActionDeleteColumn(tableModel));
deleteMenu.add(deleteColumnItem);
// Create main menu
JMenu menu = new JMenu("Меню");
menu.add(addMenu);
menu.add(deleteMenu);
JMenuItem highestHarvestItem = new JMenuItem("Макс урожай");
highestHarvestItem.addActionListener(new MenuActionFindHighestHarvest(tableModel));
menu.add(highestHarvestItem);
JMenuItem plumHarvestAvgItem = new JMenuItem("Средн Урожай");
plumHarvestAvgItem.addActionListener(new MenuActionGetPlumHarvestAvg(tableModel));
menu.add(plumHarvestAvgItem);
JMenuItem harvestPerTypeItem = new JMenuItem("Общий урожай");
harvestPerTypeItem.addActionListener(new MenuActionGetHarvestPerType(tableModel));
menu.add(harvestPerTypeItem);
JMenuItem linSpecItem = new JMenuItem("Lin Spec");
linSpecItem.addActionListener(new MenuActionLinSpec());
menu.add(linSpecItem);
menu.add(createMockMenuItem("Сектор К деревьев"));
this.add(menu);
}
private JMenuItem createMockMenuItem(String text) {
JMenuItem item = new JMenuItem(text);
item.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, text);
}
});
return item;
}
}