public Window()
    {
        super("Preferences");

        this.setSize(500, 200);

        this.box = new Box(BoxLayout.PAGE_AXIS);

        Map<String, Value> config = com.github.abalone.config.Config.getConfig();
        for ( String key: config.keySet() )
        {
            Value value = config.get(key);
            Class cl = value.getType();
            if ( value instanceof ConstraintValue )
            {
                this.addConf(new ComboBox(value), value.description);
            }
            else if ( value instanceof Range )
            {
                this.addConf(new Slider(value), value.description);
            }
            else if ( cl.equals(Boolean.class) )
            {
                this.addConf(new CheckBox(value), null);
            }
            else if ( cl.equals(String.class) )
            {
                this.addConf(new TextField(value), value.description);
            }
            else
                throw new RuntimeException(String.format("Value type not supported yet: %s", cl));
        }

        this.add(this.box);
        
        this.setDefaultCloseOperation(HIDE_ON_CLOSE);
    }