Загрузка данных


import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.awt.event.*;

public class Tablitsa {
    
    public static void main(String[] args) {
        // Окно
        JFrame frame = new JFrame("Таблица");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        // Данные (как на листке)
        String[][] data = {
            {"addins", "02.11.2006 19:15", "Folder", ""},
            {"AppPatch", "09.10.2006 14:10", "Folder", ""},
            {"assembly", "02.11.2006 14:20", "Folder", ""},
            {"Boot", "13.10.2007 10:46", "Folder", ""},
            {"Branding", "13.10.2007 12:10", "Folder", ""},
            {"Cursors", "23.09.2006 16:38", "Folder", ""},
            {"Debug", "07.12.2006 17:45", "Folder", ""},
            {"Fonts", "03.10.2006 14:02", "Folder", ""},
            {"Help", "08.11.2006 15:25", "Folder", ""},
            {"explorer.exe", "18.10.2006 14:13", "File", "2,93MB"},
            {"helppane.exe", "22.03.2006 11:39", "File", "4,58MB"},
            {"twunk.exe", "19.08.2007 10:07", "File", "1,03MB"},
            {"mszeg.exe", "07.08.2007 11:24", "File", "2,10MB"},
            {"aviap.exe", "17.12.2007 16:58", "File", "12,67MB"}
        };
        String[] columnNames = {"Name", "Last modified", "Type", "Size"};
        
        // === ЗАДАНИЕ 1: ТАБЛИЦА ===
        JTable table = new JTable(data, columnNames);
        JScrollPane scrollPane = new JScrollPane(table);
        
        // === ЗАДАНИЕ 2: КНОПКИ ===
        JButton addRow = new JButton("Добавить строку");
        JButton delRow = new JButton("Удалить строку");
        JButton addCol = new JButton("Добавить столбец");
        JButton delCol = new JButton("Удалить столбец");
        
        // === ЗАДАНИЕ 3: ТЕКСТОВОЕ ПОЛЕ ===
        JTextField textField = new JTextField(15);
        
        // === ЗАДАНИЕ 4: КНОПКА ДОБАВЛЕНИЯ ДАННЫХ ===
        JButton addData = new JButton("Добавить данные");
        
        // Панель для кнопок (сверху)
        JPanel panelButtons = new JPanel();
        panelButtons.add(addRow);
        panelButtons.add(delRow);
        panelButtons.add(addCol);
        panelButtons.add(delCol);
        
        // Панель для ввода (снизу)
        JPanel panelInput = new JPanel();
        panelInput.add(new JLabel("Данные:"));
        panelInput.add(textField);
        panelInput.add(addData);
        
        // Собираем окно
        frame.add(panelButtons, BorderLayout.NORTH);
        frame.add(scrollPane, BorderLayout.CENTER);
        frame.add(panelInput, BorderLayout.SOUTH);
        
        // === ОБРАБОТЧИКИ СОБЫТИЙ (ActionListener) ===
        
        // Добавить строку: создаём пустую строку в таблице
        addRow.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                DefaultTableModel model = (DefaultTableModel) table.getModel();
                model.addRow(new Object[]{"", "", "", ""});
            }
        });
        
        // Удалить строку: удаляем выделенную строку
        delRow.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                DefaultTableModel model = (DefaultTableModel) table.getModel();
                int row = table.getSelectedRow();
                if (row != -1) {
                    model.removeRow(row);
                }
            }
        });
        
        // Добавить столбец: спрашиваем название и добавляем
        addCol.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                DefaultTableModel model = (DefaultTableModel) table.getModel();
                String name = JOptionPane.showInputDialog("Введите название столбца:");
                model.addColumn(name);
            }
        });
        
        // Удалить столбец: очищаем выделенный столбец
        delCol.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                int col = table.getSelectedColumn();
                int row = table.getSelectedRow();
                if (col != -1 && row != -1) {
                    table.setValueAt("", row, col);
                }
            }
        });
        
        // Добавить данные: вставляем текст из поля в выделенную ячейку
        addData.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                int row = table.getSelectedRow();
                int col = table.getSelectedColumn();
                if (row != -1 && col != -1) {
                    table.setValueAt(textField.getText(), row, col);
                }
            }
        });
        
        // Показываем окно
        frame.setSize(650, 400);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}