Line deletion task ready

This commit is contained in:
2022-06-02 02:15:27 +03:00
parent c703e45d90
commit 58c3711ad0
10 changed files with 518 additions and 194 deletions

View File

@@ -7,57 +7,54 @@ public class MenuBar extends JMenuBar {
public MenuBar(DataTableModel tableModel) {
this.tableModel = tableModel;
JMenu menu = new JMenu("Меню");
this.add(menu);
menu.add(createAddRowColItem());
menu.add(createRemoveRowColItem());
// 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);
// menu.add(createAddRowColItem());
// menu.add(createRemoveRowColItem());
menu.add(createMockMenuItem("Макс Урожай"));
menu.add(createMockMenuItem("Средн Урожай"));
menu.add(createMockMenuItem("Общий урожай"));
menu.add(createMockMenuItem("Lin Spec"));
menu.add(createMockMenuItem("Сектор К деревьев"));
}
private JMenuItem createRemoveRowColItem() {
JMenuItem item = new JMenuItem();
item.setText("Удалить");
item.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Remove Row/Col");
Object[] options = {"Удалить строку", "Удалить колонку", "Отмена"};
JPanel panel = new JPanel();
panel.add(new JLabel("Введите номер строки или стоблца который должен быть удален"));
JTextField textField = new JTextField(10);
panel.add(textField);
int result = JOptionPane.showOptionDialog(null,
panel, "Введите номер строки / столбца",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.PLAIN_MESSAGE,
null,
options,
null);
if (textField.getText().trim().isEmpty()) {
return;
}
if (result == JOptionPane.YES_OPTION) {
int row = Integer.parseInt(textField.getText());
System.out.println("Remove row # " + row);
tableModel.removeRow(row - 1);
} else if (result == JOptionPane.NO_OPTION) {
int column = Integer.parseInt(textField.getText());
System.out.println("Remove column # " + column);
// tableModel.removeColumn(column - 1);
} else {
System.out.println("Cancel add row/col");
}
}
}); return item;
this.add(menu);
}
private JMenuItem createMockMenuItem(String text) {
@@ -71,44 +68,5 @@ public class MenuBar extends JMenuBar {
return item;
}
private JMenuItem createAddRowColItem() {
JMenuItem item = new JMenuItem();
item.setText("Добавить");
item.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Create Row/Col");
Object[] options = {"Добавить строку", "Добавить колонку", "Отмена"};
JPanel panel = new JPanel();
panel.add(new JLabel("Введите номер строки или стоблца который должен быть добавлен"));
JTextField textField = new JTextField(10);
panel.add(textField);
int result = JOptionPane.showOptionDialog(null,
panel, "Введите номер строки / столбца",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.PLAIN_MESSAGE,
null,
options,
null);
if (textField.getText().trim().isEmpty()) {
return;
}
if (result == JOptionPane.YES_OPTION) {
int row = Integer.parseInt(textField.getText());
System.out.println("Add row # " + row);
tableModel.addRow(row);
} else if (result == JOptionPane.NO_OPTION) {
int column = Integer.parseInt(textField.getText());
System.out.println("Add column # " + column);
tableModel.addColumn(column - 1);
} else {
System.out.println("Cancel add row/col");
}
}
});
return item;
}
}