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

public final class MainPanel extends JPanel {
    private final String[] columnNames = {"Name", "Class", "Value"};
    private final DefaultTableModel model = new DefaultTableModel(null, columnNames);
    private final JTable table = new JTable(model);
    public MainPanel() {
        super(new BorderLayout());
        table.setAutoCreateRowSorter(true);
        //for (String s:(String[])Toolkit.getDefaultToolkit().getDesktopProperty("win.propNames")) System.out.println(s);
        Toolkit.getDefaultToolkit().addPropertyChangeListener("win.xpstyle.colorName", new PropertyChangeListener() {
            @Override public void propertyChange(PropertyChangeEvent e) {
                System.out.println("----\n" + e.getPropertyName());
                System.out.println(Toolkit.getDefaultToolkit().getDesktopProperty(e.getPropertyName()));
                initModel();
            }
        });
        Toolkit.getDefaultToolkit().addPropertyChangeListener("awt.multiClickInterval", new PropertyChangeListener() {
            @Override public void propertyChange(PropertyChangeEvent e) {
                System.out.println("----\n" + e.getPropertyName());
                System.out.println(Toolkit.getDefaultToolkit().getDesktopProperty(e.getPropertyName()));
                initModel();
            }
        });
        initModel();
        setPreferredSize(new Dimension(320, 240));
        add(new JScrollPane(table));
    }
    private void initModel() {
        model.setRowCount(0);
        Toolkit tk = Toolkit.getDefaultToolkit();
        for (String s:(String[]) tk.getDesktopProperty("win.propNames")) {
            Object o = tk.getDesktopProperty(s);
            model.addRow(new Object[] {s, o.getClass(), o});
        }
    }

    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 (ClassNotFoundException | InstantiationException
               | IllegalAccessException | UnsupportedLookAndFeelException ex) {
            ex.printStackTrace();
        }
        JFrame frame = new JFrame("@title@");
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.getContentPane().add(new MainPanel());
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}

@@ -126,24 +126,50 @@
 va.beans.*;%0A
+import java.util.Objects;%0A
 import javax
@@ -458,16 +458,131 @@
 e(model)
+ %7B%0A        @Override public boolean isCellEditable(int row, int column) %7B%0A            return false;%0A        %7D%0A    %7D
 ;%0A    pu
@@ -695,32 +695,33 @@
 //for (String s:
+ 
 (String%5B%5D)Toolki
@@ -714,16 +714,17 @@
 tring%5B%5D)
+ 
 Toolkit.
@@ -815,587 +815,380 @@
     
-Toolkit.getDefaultToolkit().addPropertyChangeListener(%22win.xpstyle.colorName%22, new PropertyChangeListener() %7B%0A            @Override public void propertyChange(PropertyChangeEvent e) %7B%0A                System.out.println(%22----%5Cn%22 + e.getPropertyName());%0A                System.out.println(Toolkit.getDefaultToolkit().getDesktopProperty(e.getPropertyName()));%0A                initModel();%0A            %7D%0A        %7D);%0A        Toolkit.getDefaultToolkit().addPropertyChangeListener(%22awt.multiClickInterval%22, new PropertyChangeListener() %7B%0A            @Override public void propertyChange
+PropertyChangeListener l = this::initModel;%0A        Toolkit.getDefaultToolkit().addPropertyChangeListener(%22win.xpstyle.colorName%22, l);%0A        Toolkit.getDefaultToolkit().addPropertyChangeListener(%22awt.multiClickInterval%22, l);%0A        initModel(null);%0A        setPreferredSize(new Dimension(320, 240));%0A        add(new JScrollPane(table));%0A    %7D%0A    private void initModel
 (Pro
@@ -1205,32 +1205,62 @@
 eEvent e) %7B%0A    
+    if (Objects.nonNull(e)) %7B%0A
             Syst
@@ -1303,28 +1303,24 @@
 rtyName());%0A
-    
             
@@ -1420,200 +1420,9 @@
     
-        initModel();%0A            %7D%0A        %7D);%0A        initModel();%0A        setPreferredSize(new Dimension(320, 240));%0A        add(new JScrollPane(table));%0A    %7D%0A    private void initModel() %7B
+%7D
 %0A   
@@ -1520,16 +1520,17 @@
 tring s:
+ 
 (String%5B
@@ -1700,17 +1700,16 @@
 %7D%0A    %7D%0A
-%0A
     publ

use a lambda expression instead of an anonymous class(PropertyChangeListener)