89 lines
3.3 KiB
Java
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;
|
|
}
|
|
|
|
|
|
}
|