Example usage for com.jgoodies.forms.factories Borders DLU4

List of usage examples for com.jgoodies.forms.factories Borders DLU4

Introduction

In this page you can find the example usage for com.jgoodies.forms.factories Borders DLU4.

Prototype

Border DLU4

To view the source code for com.jgoodies.forms.factories Borders DLU4.

Click Source Link

Document

A prepared and reusable Border with 4dlu on all sides.

Usage

From source file:net.pms.newgui.TranscodingTab.java

License:Open Source License

private JComponent buildSubtitlesSetupPanel() {
    String colSpec = FormLayoutUtil.getColSpec(
            "left:pref, 3dlu, p:grow, 3dlu, right:p:grow, 3dlu, p:grow, 3dlu, right:p:grow,3dlu, p:grow, 3dlu, right:p:grow,3dlu, pref:grow",
            orientation);// w  w  w.jav a2  s . c  o m
    FormLayout layout = new FormLayout(colSpec, "$lgap, 7*(pref, 3dlu), pref");
    final PanelBuilder builder = new PanelBuilder(layout);
    builder.border(Borders.DLU4);
    CellConstraints cc = new CellConstraints();

    builder.addLabel(Messages.getString("MEncoderVideo.9"),
            FormLayoutUtil.flip(cc.xy(1, 2), colSpec, orientation));
    defaultsubs = new JTextField(configuration.getSubtitlesLanguages());
    defaultsubs.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            configuration.setSubtitlesLanguages(defaultsubs.getText());
        }
    });
    builder.add(defaultsubs, FormLayoutUtil.flip(cc.xyw(3, 2, 5), colSpec, orientation));

    builder.addLabel(Messages.getString("MEncoderVideo.94"), FormLayoutUtil
            .flip(cc.xyw(8, 2, 2, CellConstraints.RIGHT, CellConstraints.CENTER), colSpec, orientation));
    forcedsub = new JTextField(configuration.getForcedSubtitleLanguage());
    forcedsub.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            configuration.setForcedSubtitleLanguage(forcedsub.getText());
        }
    });
    builder.add(forcedsub, FormLayoutUtil.flip(cc.xyw(11, 2, 2), colSpec, orientation));

    builder.addLabel(Messages.getString("MEncoderVideo.95"), FormLayoutUtil
            .flip(cc.xyw(12, 2, 2, CellConstraints.RIGHT, CellConstraints.CENTER), colSpec, orientation));
    forcedtags = new JTextField(configuration.getForcedSubtitleTags());
    forcedtags.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            configuration.setForcedSubtitleTags(forcedtags.getText());
        }
    });
    builder.add(forcedtags, FormLayoutUtil.flip(cc.xyw(14, 2, 2), colSpec, orientation));

    builder.addLabel(Messages.getString("MEncoderVideo.10"),
            FormLayoutUtil.flip(cc.xy(1, 4), colSpec, orientation));
    defaultaudiosubs = new JTextField(configuration.getAudioSubLanguages());
    defaultaudiosubs.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            configuration.setAudioSubLanguages(defaultaudiosubs.getText());
        }
    });
    builder.add(defaultaudiosubs, FormLayoutUtil.flip(cc.xyw(3, 4, 8), colSpec, orientation));

    builder.addLabel(Messages.getString("MEncoderVideo.37"),
            FormLayoutUtil.flip(cc.xyw(1, 6, 2), colSpec, orientation));
    alternateSubFolder = new JTextField(configuration.getAlternateSubtitlesFolder());
    alternateSubFolder.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            configuration.setAlternateSubtitlesFolder(alternateSubFolder.getText());
        }
    });
    builder.add(alternateSubFolder, FormLayoutUtil.flip(cc.xyw(3, 6, 8), colSpec, orientation));

    folderSelectButton = new JButton("...");
    folderSelectButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            JFileChooser chooser;
            try {
                chooser = new JFileChooser();
            } catch (Exception ee) {
                chooser = new JFileChooser(new RestrictedFileSystemView());
            }
            chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
            int returnVal = chooser.showDialog((Component) e.getSource(), Messages.getString("FoldTab.28"));
            if (returnVal == JFileChooser.APPROVE_OPTION) {
                alternateSubFolder.setText(chooser.getSelectedFile().getAbsolutePath());
                configuration.setAlternateSubtitlesFolder(chooser.getSelectedFile().getAbsolutePath());
            }
        }
    });
    builder.add(folderSelectButton, FormLayoutUtil.flip(cc.xyw(11, 6, 2), colSpec, orientation));

    builder.addLabel(Messages.getString("MEncoderVideo.11"),
            FormLayoutUtil.flip(cc.xy(1, 8), colSpec, orientation));
    Object data[] = new Object[] { configuration.getSubtitlesCodepage(), Messages.getString("MEncoderVideo.96"),
            Messages.getString("MEncoderVideo.97"), Messages.getString("MEncoderVideo.98"),
            Messages.getString("MEncoderVideo.99"), Messages.getString("MEncoderVideo.100"),
            Messages.getString("MEncoderVideo.101"), Messages.getString("MEncoderVideo.102"),
            Messages.getString("MEncoderVideo.103"), Messages.getString("MEncoderVideo.104"),
            Messages.getString("MEncoderVideo.105"), Messages.getString("MEncoderVideo.106"),
            Messages.getString("MEncoderVideo.107"), Messages.getString("MEncoderVideo.108"),
            Messages.getString("MEncoderVideo.109"), Messages.getString("MEncoderVideo.110"),
            Messages.getString("MEncoderVideo.111"), Messages.getString("MEncoderVideo.112"),
            Messages.getString("MEncoderVideo.113"), Messages.getString("MEncoderVideo.114"),
            Messages.getString("MEncoderVideo.115"), Messages.getString("MEncoderVideo.116"),
            Messages.getString("MEncoderVideo.117"), Messages.getString("MEncoderVideo.118"),
            Messages.getString("MEncoderVideo.119"), Messages.getString("MEncoderVideo.120"),
            Messages.getString("MEncoderVideo.121"), Messages.getString("MEncoderVideo.122"),
            Messages.getString("MEncoderVideo.123"), Messages.getString("MEncoderVideo.124") };

    MyComboBoxModel cbm = new MyComboBoxModel(data);
    subtitleCodePage = new JComboBox(cbm);
    subtitleCodePage.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            if (e.getStateChange() == ItemEvent.SELECTED) {
                String s = (String) e.getItem();
                int offset = s.indexOf("/*");

                if (offset > -1) {
                    s = s.substring(0, offset).trim();
                }

                configuration.setSubtitlesCodepage(s);
            }
        }
    });

    subtitleCodePage.getEditor().getEditorComponent().addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            subtitleCodePage.getItemListeners()[0].itemStateChanged(new ItemEvent(subtitleCodePage, 0,
                    subtitleCodePage.getEditor().getItem(), ItemEvent.SELECTED));
        }
    });

    subtitleCodePage.setEditable(true);
    builder.add(subtitleCodePage, FormLayoutUtil.flip(cc.xyw(3, 8, 7), colSpec, orientation));

    fribidi = new JCheckBox(Messages.getString("MEncoderVideo.23"));
    fribidi.setContentAreaFilled(false);

    if (configuration.isMencoderSubFribidi()) {
        fribidi.setSelected(true);
    }

    fribidi.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            configuration.setMencoderSubFribidi(e.getStateChange() == ItemEvent.SELECTED);
        }
    });

    builder.add(fribidi, FormLayoutUtil.flip(cc.xyw(11, 8, 4), colSpec, orientation));

    builder.addLabel(Messages.getString("MEncoderVideo.24"),
            FormLayoutUtil.flip(cc.xy(1, 10), colSpec, orientation));
    defaultfont = new JTextField(configuration.getFont());
    defaultfont.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            configuration.setFont(defaultfont.getText());
        }
    });

    builder.add(defaultfont, FormLayoutUtil.flip(cc.xyw(3, 10, 8), colSpec, orientation));

    fontselect = new JButton("...");
    fontselect.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            JFileChooser chooser = new JFileChooser();
            chooser.setFileFilter(new FontFileFilter());
            int returnVal = chooser.showDialog((Component) e.getSource(),
                    Messages.getString("MEncoderVideo.25"));
            if (returnVal == JFileChooser.APPROVE_OPTION) {
                defaultfont.setText(chooser.getSelectedFile().getAbsolutePath());
                configuration.setFont(chooser.getSelectedFile().getAbsolutePath());
            }
        }
    });

    builder.add(fontselect, FormLayoutUtil.flip(cc.xyw(11, 10, 2), colSpec, orientation));

    builder.addLabel(Messages.getString("MEncoderVideo.12"),
            FormLayoutUtil.flip(cc.xy(1, 12), colSpec, orientation));
    builder.addLabel(Messages.getString("MEncoderVideo.133"),
            FormLayoutUtil.flip(cc.xy(1, 14), colSpec, orientation));
    ass_scale = new JTextField(configuration.getAssScale());
    ass_scale.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            configuration.setAssScale(ass_scale.getText());
        }
    });

    builder.addLabel(Messages.getString("MEncoderVideo.13"),
            FormLayoutUtil.flip(cc.xy(5, 12), colSpec, orientation));

    ass_outline = new JTextField(configuration.getAssOutline());
    ass_outline.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            configuration.setAssOutline(ass_outline.getText());
        }
    });

    builder.addLabel(Messages.getString("MEncoderVideo.14"),
            FormLayoutUtil.flip(cc.xy(9, 12), colSpec, orientation));

    ass_shadow = new JTextField(configuration.getAssShadow());
    ass_shadow.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            configuration.setAssShadow(ass_shadow.getText());
        }
    });

    builder.addLabel(Messages.getString("MEncoderVideo.15"),
            FormLayoutUtil.flip(cc.xy(13, 12), colSpec, orientation));

    ass_margin = new JTextField(configuration.getAssMargin());
    ass_margin.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            configuration.setAssMargin(ass_margin.getText());
        }
    });

    builder.add(ass_scale, FormLayoutUtil.flip(cc.xy(3, 12), colSpec, orientation));
    builder.add(ass_outline, FormLayoutUtil.flip(cc.xy(7, 12), colSpec, orientation));
    builder.add(ass_shadow, FormLayoutUtil.flip(cc.xy(11, 12), colSpec, orientation));
    builder.add(ass_margin, FormLayoutUtil.flip(cc.xy(15, 12), colSpec, orientation));

    subs = new JCheckBox(Messages.getString("MEncoderVideo.22"), configuration.isAutoloadExternalSubtitles());
    subs.setContentAreaFilled(false);
    subs.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            configuration.setAutoloadExternalSubtitles((e.getStateChange() == ItemEvent.SELECTED));
        }
    });
    builder.add(subs, FormLayoutUtil.flip(cc.xyw(1, 16, 13), colSpec, orientation));

    subColor = new JButton();
    subColor.setText(Messages.getString("MEncoderVideo.31"));
    subColor.setBackground(new Color(configuration.getSubsColor()));
    subColor.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            Color newColor = JColorChooser.showDialog(
                    SwingUtilities.getWindowAncestor((Component) PMS.get().getFrame()),
                    Messages.getString("MEncoderVideo.125"), subColor.getBackground());

            if (newColor != null) {
                subColor.setBackground(newColor);
                configuration.setSubsColor(newColor.getRGB());
            }
        }
    });
    builder.add(subColor, FormLayoutUtil.flip(cc.xyw(13, 16, 3), colSpec, orientation));

    final JPanel panel = builder.getPanel();

    boolean enable = !configuration.isDisableSubtitles();
    for (Component component : panel.getComponents()) {
        component.setEnabled(enable);
    }

    disableSubs.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            // If "Disable Subtitles" is not selected, subtitles are enabled
            boolean enabled = e.getStateChange() != ItemEvent.SELECTED;
            for (Component component : panel.getComponents()) {
                component.setEnabled(enabled);
            }
        }
    });

    panel.applyComponentOrientation(orientation);

    return panel;
}