Files
garden-coding-assignment/src/MenuBar.java
2022-06-02 18:06:19 +03:00

89 lines
3.3 KiB
Java

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);
JMenuItem sectorItem = new JMenuItem("Сектор K деревьев");
sectorItem.addActionListener(new MenuActionFindSmallestSector(tableModel));
menu.add(sectorItem);
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;
}
}