private void create(String initialValue, Color bg, String title, boolean addTransparentBtn) {
        setPreferredSize(this.preferredDim);
        if (title != null) {
            setBorder(BorderFactory.createCompoundBorder(BorderFactory.createTitledBorder(title),
                    BorderFactory.createEmptyBorder(5, 0, 0, 0)));
        } else {
            setBorder(BorderFactory.createEmptyBorder(15, 0, 0, 0));
        }

        setLayout(new VerticalLayout(5, VerticalLayout.CENTER));
        setBackground(bg);

        this.path = new JTextField();
        this.path.setPreferredSize(PATHFIELD_DIM);
        this.path.setEditable(false);
        this.path.setFocusable(false);
        this.path.setText(initialValue);
        this.path.setToolTipText(initialValue);
        this.path.setBackground(Color.LIGHT_GRAY.brighter());
        this.add(this.path);

        JPanel panel = new JPanel();
        panel.setBackground(bg);
        this.add(panel);

        JButton choose = new JButton("...");
        choose.setMinimumSize(BUTTON_DIM);
        choose.setBackground(bg);
        choose.addActionListener(new ActionListener() {

            @SuppressWarnings("unused")
            @Override
            public void actionPerformed(ActionEvent e) {
                new FileChooserDialog(Field.strFileChooserTitle, new ImageFileFilter(ImageField.this.fcdFilter), false) {
                    private static final long serialVersionUID = 1L;

                    @Override
                    public void onApprove(File file) {
                        onFileChosen(file);
                    }

                    @Override
                    public void onCancel() {
                        ;
                    }
                };
            }
        });
        panel.add(choose);

        if (addTransparentBtn) {
            JButton toggleTransparent = new JButton(Field.strToggleTransparent);
            toggleTransparent.setMinimumSize(BUTTON_DIM);
            toggleTransparent.setBackground(bg);
            toggleTransparent.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    onFileChosen(Constants.SKIN_TRANSPARENT_BG.toFile());
                }
            });
            panel.add(toggleTransparent);
        }

        JButton reset = new JButton(Field.strReset);
        reset.setMinimumSize(BUTTON_DIM);
        reset.setBackground(bg);
        reset.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                onFileChosen(null);
            }
        });
        panel.add(reset);
    }