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


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

public class Tablitsa extends JFrame {
    
    public Tablitsa() {
        // Данные таблицы (как на листке)
        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);
        JButton addData = new JButton("Вставить");
        
        // Панель кнопок
        JPanel buttons = new JPanel();
        buttons.add(addRow);
        buttons.add(delRow);
        buttons.add(addCol);
        buttons.add(delCol);
        
        // Панель ввода
        JPanel input = new JPanel();
        input.add(new JLabel("Данные:"));
        input.add(textField);
        input.add(addData);
        
        // Сборка окна
        setTitle("Таблица");
        setLayout(new BorderLayout());
        add(buttons, BorderLayout.NORTH);
        add(scrollPane, BorderLayout.CENTER);
        add(input, BorderLayout.SOUTH);
        
        // === 4. ОБРАБОТЧИКИ (ДОБАВЛЕНИЕ ДАННЫХ) ===
        
        // Добавить строку
        addRow.addActionListener(e -> {
            DefaultTableModel m = (DefaultTableModel) table.getModel();
            m.addRow(new String[]{"", "", "", ""});
        });
        
        // Удалить строку
        delRow.addActionListener(e -> {
            DefaultTableModel m = (DefaultTableModel) table.getModel();
            int row = table.getSelectedRow();
            if (row >= 0) m.removeRow(row);
        });
        
        // Добавить столбец
        addCol.addActionListener(e -> {
            DefaultTableModel m = (DefaultTableModel) table.getModel();
            String name = JOptionPane.showInputDialog("Название столбца:");
            if (name != null) m.addColumn(name);
        });
        
        // Удалить столбец
        delCol.addActionListener(e -> {
            int col = table.getSelectedColumn();
            if (col >= 0) {
                DefaultTableModel m = (DefaultTableModel) table.getModel();
                // Удаляем данные из всех строк в этом столбце
                for (int i = 0; i < m.getRowCount(); i++) {
                    m.setValueAt("", i, col);
                }
            }
        });
        
        // Вставить данные из поля в выбранную ячейку
        addData.addActionListener(e -> {
            int row = table.getSelectedRow();
            int col = table.getSelectedColumn();
            if (row >= 0 && col >= 0) {
                table.setValueAt(textField.getText(), row, col);
                textField.setText("");
            }
        });
        
        // Настройки окна
        setPreferredSize(new Dimension(650, 400));
        pack();
        setLocationRelativeTo(null);
        setVisible(true);
    }
    
    public static void main(String[] args) {
        new Tablitsa();
    }
}