package example;
//-*- mode:java; encoding:utf8n; coding:utf-8 -*-
// vim:set fileencoding=utf-8:
//@homepage@
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;

public class MainPanel extends JPanel {
    private final TestModel model = new TestModel();
    private final JTable table = new JTable(model);
    private final Action selectAllAction = new AbstractAction("selectAll") {
        @Override public void actionPerformed(ActionEvent e) {
            e.setSource(table);
            table.getActionMap().get("selectAll").actionPerformed(e);
        }
    };
    private final Action copyAction = new AbstractAction("copy") {
        @Override public void actionPerformed(ActionEvent e) {
            e.setSource(table);
            table.getActionMap().get("copy").actionPerformed(e);
        }
    };
    public MainPanel(JFrame frame) {
        super(new BorderLayout());
        model.addTest(new Test("Name 1", "comment..."));
        model.addTest(new Test("Name 2", "Test"));
        model.addTest(new Test("Name d", ""));
        model.addTest(new Test("Name c", "Test cc"));
        model.addTest(new Test("Name b", "Test bb"));
        model.addTest(new Test("Name a", ""));
        model.addTest(new Test("Name 0", "Test aa"));

        frame.setJMenuBar(createMenuBar());

        JPanel p = new JPanel();
        p.add(new JButton(selectAllAction));
        p.add(new JButton(copyAction));

        JSplitPane sp = new JSplitPane(JSplitPane.VERTICAL_SPLIT); //Panel(new GridLayout(2,1));
        sp.setTopComponent(new JScrollPane(table));
        sp.setBottomComponent(new JScrollPane(new JTextArea()));
        sp.setResizeWeight(0.5);

        add(p, BorderLayout.NORTH);
        add(sp);
        setPreferredSize(new Dimension(320, 240));
    }

    private JMenuBar createMenuBar() {
        JMenuBar menuBar = new JMenuBar();
        JMenu menu = new JMenu("Edit");
        menu.setMnemonic(KeyEvent.VK_E);
        menuBar.add(menu);
        menu.add(new JMenuItem(selectAllAction));
        menu.add(new JMenuItem(copyAction));
        return menuBar;
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override public void run() {
                createAndShowGUI();
            }
        });
    }
    public static void createAndShowGUI() {
        try{
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        }catch(Exception e) {
            e.printStackTrace();
        }
        JFrame frame = new JFrame("@title@");
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.getContentPane().add(new MainPanel(frame));
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}

@@ -261,41 +261,419 @@
 nal 
-TestModel model = new TestModel()
+String%5B%5D columnNames = %7B%22String%22, %22Integer%22, %22Boolean%22%7D;%0A    private final Object%5B%5D%5B%5D data = %7B%0A        %7B%22aaa%22, 12, true%7D, %7B%22bbb%22, 5, false%7D,%0A        %7B%22CCC%22, 92, true%7D, %7B%22DDD%22, 0, false%7D%0A    %7D;%0A    private final DefaultTableModel model = new DefaultTableModel(data, columnNames) %7B%0A        @Override public Class%3C?%3E getColumnClass(int column) %7B%0A            return getValueAt(0, column).getClass();%0A        %7D%0A    %7D
 ;%0A  
@@ -1301,373 +1301,8 @@
 ));%0A
-        model.addTest(new Test(%22Name 1%22, %22comment...%22));%0A        model.addTest(new Test(%22Name 2%22, %22Test%22));%0A        model.addTest(new Test(%22Name d%22, %22%22));%0A        model.addTest(new Test(%22Name c%22, %22Test cc%22));%0A        model.addTest(new Test(%22Name b%22, %22Test bb%22));%0A        model.addTest(new Test(%22Name a%22, %22%22));%0A        model.addTest(new Test(%22Name 0%22, %22Test aa%22));%0A%0A
     

Remove TestModel.java