Example usage for com.jgoodies.forms.builder PanelBuilder opaque

List of usage examples for com.jgoodies.forms.builder PanelBuilder opaque

Introduction

In this page you can find the example usage for com.jgoodies.forms.builder PanelBuilder opaque.

Prototype

public PanelBuilder opaque(boolean b) 

Source Link

Document

Sets the panel's opaque state.

Usage

From source file:net.pms.encoders.AviSynthFFmpeg.java

License:Open Source License

@Override
protected JComponent config(String languageLabel) {
    FormLayout layout = new FormLayout("left:pref, 0:grow", "p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu");
    PanelBuilder builder = new PanelBuilder(layout);
    builder.border(Borders.EMPTY);//  w  ww.ja  va 2  s .  co m
    builder.opaque(false);

    CellConstraints cc = new CellConstraints();

    JComponent cmp = builder.addSeparator(Messages.getString(languageLabel), cc.xyw(2, 1, 1));
    cmp = (JComponent) cmp.getComponent(0);
    cmp.setFont(cmp.getFont().deriveFont(Font.BOLD));

    multithreading = new JCheckBox(Messages.getString("MEncoderVideo.35"),
            configuration.isFfmpegAviSynthMultithreading());
    multithreading.setContentAreaFilled(false);
    multithreading.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            configuration.setFfmpegAviSynthMultithreading(e.getStateChange() == ItemEvent.SELECTED);
        }
    });
    builder.add(GuiUtil.getPreferredSizeComponent(multithreading), cc.xy(2, 3));

    interframe = new JCheckBox(Messages.getString("AviSynthMEncoder.13"),
            configuration.getFfmpegAvisynthInterFrame());
    interframe.setContentAreaFilled(false);
    interframe.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            configuration.setFfmpegAvisynthInterFrame(interframe.isSelected());
            if (configuration.getFfmpegAvisynthInterFrame()) {
                JOptionPane.showMessageDialog(
                        SwingUtilities.getWindowAncestor((Component) PMS.get().getFrame()),
                        Messages.getString("AviSynthMEncoder.16"), Messages.getString("Dialog.Information"),
                        JOptionPane.INFORMATION_MESSAGE);
            }
        }
    });
    builder.add(GuiUtil.getPreferredSizeComponent(interframe), cc.xy(2, 5));

    interframegpu = new JCheckBox(Messages.getString("AviSynthMEncoder.15"),
            configuration.getFfmpegAvisynthInterFrameGPU());
    interframegpu.setContentAreaFilled(false);
    interframegpu.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            configuration.setFfmpegAvisynthInterFrameGPU((e.getStateChange() == ItemEvent.SELECTED));
        }
    });
    builder.add(GuiUtil.getPreferredSizeComponent(interframegpu), cc.xy(2, 7));

    convertfps = new JCheckBox(Messages.getString("AviSynthMEncoder.3"),
            configuration.getFfmpegAvisynthConvertFps());
    convertfps.setContentAreaFilled(false);
    convertfps.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            configuration.setFfmpegAvisynthConvertFps((e.getStateChange() == ItemEvent.SELECTED));
        }
    });
    builder.add(GuiUtil.getPreferredSizeComponent(convertfps), cc.xy(2, 9));

    configuration.addConfigurationListener(new ConfigurationListener() {
        @Override
        public void configurationChanged(ConfigurationEvent event) {
            if (event.getPropertyName() == null) {
                return;
            }
            if ((!event.isBeforeUpdate())
                    && event.getPropertyName().equals(PmsConfiguration.KEY_GPU_ACCELERATION)) {
                interframegpu.setEnabled(configuration.isGPUAcceleration());
            }
        }
    });

    return builder.getPanel();
}

From source file:net.pms.encoders.AviSynthMEncoder.java

License:Open Source License

@Override
public JComponent config() {
    FormLayout layout = new FormLayout("left:pref, 0:grow",
            "p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 12dlu, p, 3dlu, 0:grow");
    PanelBuilder builder = new PanelBuilder(layout);
    builder.border(Borders.EMPTY);/*from  w w w. j a  v a 2 s . co  m*/
    builder.opaque(false);

    CellConstraints cc = new CellConstraints();

    JComponent cmp = builder.addSeparator(Messages.getString("NetworkTab.5"), cc.xyw(2, 1, 1));
    cmp = (JComponent) cmp.getComponent(0);
    cmp.setFont(cmp.getFont().deriveFont(Font.BOLD));

    multithreading = new JCheckBox(Messages.getString("MEncoderVideo.35"),
            configuration.getAvisynthMultiThreading());
    multithreading.setContentAreaFilled(false);
    multithreading.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            configuration.setAvisynthMultiThreading((e.getStateChange() == ItemEvent.SELECTED));
        }
    });
    builder.add(GuiUtil.getPreferredSizeComponent(multithreading), cc.xy(2, 3));

    interframe = new JCheckBox(Messages.getString("AviSynthMEncoder.13"),
            configuration.getAvisynthInterFrame());
    interframe.setContentAreaFilled(false);
    interframe.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            configuration.setAvisynthInterFrame(interframe.isSelected());
            if (configuration.getAvisynthInterFrame()) {
                JOptionPane.showMessageDialog(
                        SwingUtilities.getWindowAncestor((Component) PMS.get().getFrame()),
                        Messages.getString("AviSynthMEncoder.16"), Messages.getString("Dialog.Information"),
                        JOptionPane.INFORMATION_MESSAGE);
            }
        }
    });
    builder.add(GuiUtil.getPreferredSizeComponent(interframe), cc.xy(2, 5));

    interframegpu = new JCheckBox(Messages.getString("AviSynthMEncoder.15"),
            configuration.getAvisynthInterFrameGPU());
    interframegpu.setContentAreaFilled(false);
    interframegpu.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            configuration.setAvisynthInterFrameGPU((e.getStateChange() == ItemEvent.SELECTED));
        }
    });
    builder.add(GuiUtil.getPreferredSizeComponent(interframegpu), cc.xy(2, 7));

    convertfps = new JCheckBox(Messages.getString("AviSynthMEncoder.3"), configuration.getAvisynthConvertFps());
    convertfps.setContentAreaFilled(false);
    convertfps.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            configuration.setAvisynthConvertFps((e.getStateChange() == ItemEvent.SELECTED));
        }
    });
    builder.add(GuiUtil.getPreferredSizeComponent(convertfps), cc.xy(2, 9));

    String aviSynthScriptInstructions = Messages.getString("AviSynthMEncoder.4")
            + Messages.getString("AviSynthMEncoder.5") + Messages.getString("AviSynthMEncoder.6")
            + Messages.getString("AviSynthMEncoder.7") + Messages.getString("AviSynthMEncoder.8");
    JTextArea aviSynthScriptInstructionsContainer = new JTextArea(aviSynthScriptInstructions);
    aviSynthScriptInstructionsContainer.setEditable(false);
    aviSynthScriptInstructionsContainer.setBorder(BorderFactory.createEtchedBorder());
    aviSynthScriptInstructionsContainer.setBackground(new Color(255, 255, 192));
    aviSynthScriptInstructionsContainer.setBorder(
            BorderFactory.createCompoundBorder(BorderFactory.createLineBorder(new Color(130, 135, 144)),
                    BorderFactory.createEmptyBorder(3, 5, 3, 5)));
    builder.add(aviSynthScriptInstructionsContainer, cc.xy(2, 11));

    String clip = configuration.getAvisynthScript();
    if (clip == null) {
        clip = "";
    }
    StringBuilder sb = new StringBuilder();
    StringTokenizer st = new StringTokenizer(clip, PMS.AVS_SEPARATOR);
    int i = 0;
    while (st.hasMoreTokens()) {
        if (i > 0) {
            sb.append("\n");
        }
        sb.append(st.nextToken());
        i++;
    }
    textArea = new JTextArea(sb.toString());
    textArea.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            StringBuilder sb = new StringBuilder();
            StringTokenizer st = new StringTokenizer(textArea.getText(), "\n");
            int i = 0;
            while (st.hasMoreTokens()) {
                if (i > 0) {
                    sb.append(PMS.AVS_SEPARATOR);
                }
                sb.append(st.nextToken());
                i++;
            }
            configuration.setAvisynthScript(sb.toString());
        }
    });

    JScrollPane pane = new JScrollPane(textArea, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
            JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    pane.setPreferredSize(new Dimension(500, 350));
    builder.add(pane, cc.xy(2, 13));

    configuration.addConfigurationListener(new ConfigurationListener() {
        @Override
        public void configurationChanged(ConfigurationEvent event) {
            if (event.getPropertyName() == null) {
                return;
            }
            if ((!event.isBeforeUpdate())
                    && event.getPropertyName().equals(PmsConfiguration.KEY_GPU_ACCELERATION)) {
                interframegpu.setEnabled(configuration.isGPUAcceleration());
            }
        }
    });

    return builder.getPanel();
}

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

License:Open Source License

public JComponent build() {
    FormLayout layout = new FormLayout("0:grow, pref, 0:grow",
            "pref, 3dlu, pref, 3dlu, pref, 12dlu, pref, 3dlu, pref, 3dlu, pref, 3dlu, pref, 3dlu, p, 3dlu, p");

    PanelBuilder builder = new PanelBuilder(layout);
    builder.border(Borders.DLU9);//  w w  w . j a v a  2  s.  com
    builder.opaque(true);
    CellConstraints cc = new CellConstraints();

    String projectName = PropertiesUtil.getProjectProperties().get("project.name");

    final LinkMouseListener pms3Link = new LinkMouseListener(projectName + " " + PMS.getVersion(),
            "http://www.ps3mediaserver.org/");
    JLabel lPms3Link = builder.addLabel(pms3Link.getLabel(), cc.xy(2, 1, "center, fill"));
    lPms3Link.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
    lPms3Link.addMouseListener(pms3Link);

    // Create a build name from the available git properties
    String commitId = PropertiesUtil.getProjectProperties().get("git.commit.id");
    String commitTime = PropertiesUtil.getProjectProperties().get("git.commit.time");
    String shortCommitId = commitId.substring(0, 9);
    String commitUrl = "https://github.com/ps3mediaserver/ps3mediaserver/commit/" + commitId;
    String buildLabel = Messages.getString("LinksTab.6") + " " + shortCommitId + " (" + commitTime + ")";

    final LinkMouseListener commitLink = new LinkMouseListener(buildLabel, commitUrl);
    JLabel lCommitLink = builder.addLabel(commitLink.getLabel(), cc.xy(2, 3, "center, fill"));
    lCommitLink.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
    lCommitLink.addMouseListener(commitLink);

    imagePanel = buildImagePanel();
    builder.add(imagePanel, cc.xy(2, 5, "center, fill"));

    builder.addLabel(Messages.getString("LinksTab.5"), cc.xy(2, 7, "center, fill"));

    final LinkMouseListener ffmpegLink = new LinkMouseListener("FFmpeg", "http://ffmpeg.mplayerhq.hu");
    JLabel lFfmpegLink = builder.addLabel(ffmpegLink.getLabel(), cc.xy(2, 9, "center, fill"));
    lFfmpegLink.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
    lFfmpegLink.addMouseListener(ffmpegLink);

    final LinkMouseListener mplayerLink = new LinkMouseListener("MPlayer", "http://www.mplayerhq.hu");
    JLabel lMplayerLink = builder.addLabel(mplayerLink.getLabel(), cc.xy(2, 11, "center, fill"));
    lMplayerLink.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
    lMplayerLink.addMouseListener(mplayerLink);

    final LinkMouseListener vlcLink = new LinkMouseListener("VLC media player", "http://www.videolan.org/vlc/");
    JLabel lVlcLink = builder.addLabel(vlcLink.getLabel(), cc.xy(2, 13, "center, fill"));
    lVlcLink.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
    lVlcLink.addMouseListener(vlcLink);

    final LinkMouseListener mediaInfoLink = new LinkMouseListener("MediaInfo",
            "http://mediainfo.sourceforge.net/en");
    JLabel lMediaInfoLink = builder.addLabel(mediaInfoLink.getLabel(), cc.xy(2, 15, "center, fill"));
    lMediaInfoLink.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
    lMediaInfoLink.addMouseListener(mediaInfoLink);

    JScrollPane scrollPane = new JScrollPane(builder.getPanel());
    scrollPane.setBorder(BorderFactory.createEmptyBorder());
    return scrollPane;
}

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

License:Open Source License

public JComponent build() {
    // Apply the orientation for the locale
    Locale locale = new Locale(configuration.getLanguage());
    ComponentOrientation orientation = ComponentOrientation.getOrientation(locale);
    String colSpec = FormLayoutUtil.getColSpec(COL_SPEC, orientation);

    FormLayout layout = new FormLayout(colSpec, ROW_SPEC);
    PanelBuilder builder = new PanelBuilder(layout);
    builder.border(Borders.DLU4);/*from  w  ww  .ja  v a2s .co m*/
    builder.opaque(true);

    CellConstraints cc = new CellConstraints();

    smcheckBox = new JCheckBox(Messages.getString("NetworkTab.3"));
    smcheckBox.setContentAreaFilled(false);
    smcheckBox.addItemListener(new ItemListener() {
        public void itemStateChanged(ItemEvent e) {
            configuration.setMinimized((e.getStateChange() == ItemEvent.SELECTED));
        }
    });

    if (configuration.isMinimized()) {
        smcheckBox.setSelected(true);
    }

    JComponent cmp = builder.addSeparator(Messages.getString("NetworkTab.5"),
            FormLayoutUtil.flip(cc.xyw(1, 1, 9), colSpec, orientation));
    cmp = (JComponent) cmp.getComponent(0);
    cmp.setFont(cmp.getFont().deriveFont(Font.BOLD));
    builder.addLabel(Messages.getString("NetworkTab.0"),
            FormLayoutUtil.flip(cc.xy(1, 7), colSpec, orientation));
    final KeyedComboBoxModel kcbm = new KeyedComboBoxModel(
            new Object[] { "ar", "bg", "ca", "zhs", "zht", "cz", "da", "nl", "en", "fi", "fr", "de", "el", "iw",
                    "is", "it", "ja", "ko", "no", "pl", "pt", "br", "ro", "ru", "sl", "es", "sv", "tr" },
            new Object[] { "Arabic", "Bulgarian", "Catalan", "Chinese (Simplified)", "Chinese (Traditional)",
                    "Czech", "Danish", "Dutch", "English", "Finnish", "French", "German", "Greek", "Hebrew",
                    "Icelandic", "Italian", "Japanese", "Korean", "Norwegian", "Polish", "Portuguese",
                    "Portuguese (Brazilian)", "Romanian", "Russian", "Slovenian", "Spanish", "Swedish",
                    "Turkish" });
    langs = new JComboBox(kcbm);
    langs.setEditable(false);
    String defaultLang = null;
    if (configuration.getLanguage() != null && configuration.getLanguage().length() > 0) {
        defaultLang = configuration.getLanguage();
    } else {
        defaultLang = Locale.getDefault().getLanguage();
    }
    if (defaultLang == null) {
        defaultLang = "en";
    }
    kcbm.setSelectedKey(defaultLang);
    if (langs.getSelectedIndex() == -1) {
        langs.setSelectedIndex(0);
    }

    langs.addItemListener(new ItemListener() {
        public void itemStateChanged(ItemEvent e) {
            if (e.getStateChange() == ItemEvent.SELECTED) {
                configuration.setLanguage((String) kcbm.getSelectedKey());

            }
        }
    });

    builder.add(langs, FormLayoutUtil.flip(cc.xyw(3, 7, 7), colSpec, orientation));

    builder.add(smcheckBox, FormLayoutUtil.flip(cc.xyw(1, 9, 9), colSpec, orientation));

    JButton service = new JButton(Messages.getString("NetworkTab.4"));
    service.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            if (PMS.get().installWin32Service()) {
                JOptionPane.showMessageDialog(
                        (JFrame) (SwingUtilities.getWindowAncestor((Component) PMS.get().getFrame())),
                        Messages.getString("NetworkTab.11") + Messages.getString("NetworkTab.12"),
                        Messages.getString("Dialog.Information"), JOptionPane.INFORMATION_MESSAGE);

            } else {
                JOptionPane.showMessageDialog(
                        (JFrame) (SwingUtilities.getWindowAncestor((Component) PMS.get().getFrame())),
                        Messages.getString("NetworkTab.14"), Messages.getString("Dialog.Error"),
                        JOptionPane.ERROR_MESSAGE);
            }
        }
    });

    builder.add(service, FormLayoutUtil.flip(cc.xy(1, 11), colSpec, orientation));

    if (System.getProperty(LooksFrame.START_SERVICE) != null || !Platform.isWindows()) {
        service.setEnabled(false);
    }

    JButton checkForUpdates = new JButton(Messages.getString("NetworkTab.8"));

    checkForUpdates.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            LooksFrame frame = (LooksFrame) PMS.get().getFrame();
            frame.checkForUpdates();
        }
    });

    builder.add(checkForUpdates, FormLayoutUtil.flip(cc.xy(1, 13), colSpec, orientation));

    autoUpdateCheckBox = new JCheckBox(Messages.getString("NetworkTab.9"));
    autoUpdateCheckBox.setContentAreaFilled(false);
    autoUpdateCheckBox.addItemListener(new ItemListener() {
        public void itemStateChanged(ItemEvent e) {
            configuration.setAutoUpdate((e.getStateChange() == ItemEvent.SELECTED));
        }
    });

    if (configuration.isAutoUpdate()) {
        autoUpdateCheckBox.setSelected(true);
    }

    builder.add(autoUpdateCheckBox, FormLayoutUtil.flip(cc.xyw(7, 13, 3), colSpec, orientation));

    if (!Build.isUpdatable()) {
        checkForUpdates.setEnabled(false);
        autoUpdateCheckBox.setEnabled(false);
    }

    host = new JTextField(configuration.getServerHostname());
    host.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            configuration.setHostname(host.getText());
        }
    });

    port = new JTextField(configuration.getServerPort() != 5001 ? "" + configuration.getServerPort() : "");
    port.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            try {
                String p = port.getText();
                if (StringUtils.isEmpty(p)) {
                    p = "5001";
                }
                int ab = Integer.parseInt(p);
                configuration.setServerPort(ab);
            } catch (NumberFormatException nfe) {
                logger.debug("Could not parse port from \"" + port.getText() + "\"");
            }

        }
    });

    cmp = builder.addSeparator(Messages.getString("NetworkTab.22"),
            FormLayoutUtil.flip(cc.xyw(1, 21, 9), colSpec, orientation));
    cmp = (JComponent) cmp.getComponent(0);
    cmp.setFont(cmp.getFont().deriveFont(Font.BOLD));

    final KeyedComboBoxModel networkInterfaces = createNetworkInterfacesModel();
    networkinterfacesCBX = new JComboBox(networkInterfaces);
    networkInterfaces.setSelectedKey(configuration.getNetworkInterface());
    networkinterfacesCBX.addItemListener(new ItemListener() {
        public void itemStateChanged(ItemEvent e) {
            if (e.getStateChange() == ItemEvent.SELECTED) {
                configuration.setNetworkInterface((String) networkInterfaces.getSelectedKey());
            }
        }
    });

    ip_filter = new JTextField(configuration.getIpFilter());
    ip_filter.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            configuration.setIpFilter(ip_filter.getText());
        }
    });

    maxbitrate = new JTextField(configuration.getMaximumBitrate());
    maxbitrate.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            PMS.getConfiguration().setMaximumBitrate(maxbitrate.getText());
        }
    });

    builder.addLabel(Messages.getString("NetworkTab.20"),
            FormLayoutUtil.flip(cc.xy(1, 23), colSpec, orientation));
    builder.add(networkinterfacesCBX, FormLayoutUtil.flip(cc.xyw(3, 23, 7), colSpec, orientation));
    builder.addLabel(Messages.getString("NetworkTab.23"),
            FormLayoutUtil.flip(cc.xy(1, 25), colSpec, orientation));
    builder.add(host, FormLayoutUtil.flip(cc.xyw(3, 25, 7), colSpec, orientation));
    builder.addLabel(Messages.getString("NetworkTab.24"),
            FormLayoutUtil.flip(cc.xy(1, 27), colSpec, orientation));
    builder.add(port, FormLayoutUtil.flip(cc.xyw(3, 27, 7), colSpec, orientation));
    builder.addLabel(Messages.getString("NetworkTab.30"),
            FormLayoutUtil.flip(cc.xy(1, 29), colSpec, orientation));
    builder.add(ip_filter, FormLayoutUtil.flip(cc.xyw(3, 29, 7), colSpec, orientation));
    builder.addLabel(Messages.getString("NetworkTab.35"),
            FormLayoutUtil.flip(cc.xy(1, 31), colSpec, orientation));
    builder.add(maxbitrate, FormLayoutUtil.flip(cc.xyw(3, 31, 7), colSpec, orientation));

    cmp = builder.addSeparator(Messages.getString("NetworkTab.31"),
            FormLayoutUtil.flip(cc.xyw(1, 33, 9), colSpec, orientation));
    cmp = (JComponent) cmp.getComponent(0);
    cmp.setFont(cmp.getFont().deriveFont(Font.BOLD));

    newHTTPEngine = new JCheckBox(Messages.getString("NetworkTab.32"));
    newHTTPEngine.setSelected(configuration.isHTTPEngineV2());
    newHTTPEngine.addItemListener(new ItemListener() {
        public void itemStateChanged(ItemEvent e) {
            configuration.setHTTPEngineV2((e.getStateChange() == ItemEvent.SELECTED));
        }
    });
    builder.add(newHTTPEngine, FormLayoutUtil.flip(cc.xyw(1, 35, 9), colSpec, orientation));

    preventSleep = new JCheckBox(Messages.getString("NetworkTab.33"));
    preventSleep.setSelected(configuration.isPreventsSleep());
    preventSleep.addItemListener(new ItemListener() {
        public void itemStateChanged(ItemEvent e) {
            configuration.setPreventsSleep((e.getStateChange() == ItemEvent.SELECTED));
        }
    });
    builder.add(preventSleep, FormLayoutUtil.flip(cc.xyw(1, 37, 9), colSpec, orientation));

    JCheckBox fdCheckBox = new JCheckBox(Messages.getString("NetworkTab.38"));
    fdCheckBox.setContentAreaFilled(false);
    fdCheckBox.addItemListener(new ItemListener() {
        public void itemStateChanged(ItemEvent e) {
            configuration.setRendererForceDefault((e.getStateChange() == ItemEvent.SELECTED));
        }
    });

    if (configuration.isRendererForceDefault()) {
        fdCheckBox.setSelected(true);
    }

    builder.addLabel(Messages.getString("NetworkTab.36"),
            FormLayoutUtil.flip(cc.xy(1, 39), colSpec, orientation));

    ArrayList<RendererConfiguration> allConfs = RendererConfiguration.getAllRendererConfigurations();
    ArrayList<Object> keyValues = new ArrayList<Object>();
    ArrayList<Object> nameValues = new ArrayList<Object>();
    keyValues.add("");
    nameValues.add(Messages.getString("NetworkTab.37"));

    if (allConfs != null) {
        sortRendererConfiurationsByName(allConfs);
        for (RendererConfiguration renderer : allConfs) {
            if (renderer != null) {
                keyValues.add(renderer.getRendererName());
                nameValues.add(renderer.getRendererName());
            }
        }
    }

    final KeyedComboBoxModel renderersKcbm = new KeyedComboBoxModel(
            (Object[]) keyValues.toArray(new Object[keyValues.size()]),
            (Object[]) nameValues.toArray(new Object[nameValues.size()]));
    renderers = new JComboBox(renderersKcbm);
    renderers.setEditable(false);
    String defaultRenderer = configuration.getRendererDefault();
    renderersKcbm.setSelectedKey(defaultRenderer);

    if (renderers.getSelectedIndex() == -1) {
        renderers.setSelectedIndex(0);
    }

    builder.add(renderers, FormLayoutUtil.flip(cc.xyw(3, 39, 7), colSpec, orientation));

    builder.add(fdCheckBox, FormLayoutUtil.flip(cc.xyw(1, 41, 9), colSpec, orientation));

    cmp = builder.addSeparator(Messages.getString("NetworkTab.34"),
            FormLayoutUtil.flip(cc.xyw(1, 43, 9), colSpec, orientation));
    cmp = (JComponent) cmp.getComponent(0);
    cmp.setFont(cmp.getFont().deriveFont(Font.BOLD));

    pPlugins = new JPanel(new GridLayout());
    builder.add(pPlugins, FormLayoutUtil.flip(cc.xyw(1, 45, 9), colSpec, orientation));

    JPanel panel = builder.getPanel();

    // Apply the orientation to the panel and all components in it
    panel.applyComponentOrientation(orientation);

    JScrollPane scrollPane = new JScrollPane(panel, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
            JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    scrollPane.setBorder(BorderFactory.createEmptyBorder());

    return scrollPane;
}

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

License:Open Source License

/**
 * Set up the panel for the help tab and load its contents from a file.
 * @return The component containing the help tab and its contents
 *///  www. j  ava 2s .  com
public JComponent build() {
    FormLayout layout = new FormLayout("left:pref, 0:grow", "pref, fill:default:grow");
    PanelBuilder builder = new PanelBuilder(layout);
    builder.opaque(true);
    CellConstraints cc = new CellConstraints();
    editorPane = new JEditorPane();
    editorPane.setEditable(false);
    editorPane.setContentType("text/html");
    editorPane.setBackground(Color.WHITE);

    updateContents();

    // Enable internal anchor links
    editorPane.addHyperlinkListener(new HyperlinkListener() {
        public void hyperlinkUpdate(HyperlinkEvent event) {
            try {
                if (event.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
                    String urlString = event.getURL().toExternalForm();

                    if (urlString.startsWith("http://") || urlString.startsWith("https://")
                            || urlString.startsWith("ftp://")) {
                        // Open external links in the desktop web browser
                        URI uri = new URI(urlString);
                        Desktop.getDesktop().browse(uri);
                    } else {
                        // Open anchor links in the editorPane
                        editorPane.setPage(event.getURL());
                    }
                }
            } catch (IOException e) {
                logger.debug("Caught exception", e);
            } catch (URISyntaxException e) {
                logger.debug("Caught exception", e);
            }
        }
    });

    JScrollPane pane = new JScrollPane(editorPane, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
            JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    pane.setPreferredSize(new Dimension(500, 400));
    pane.setBorder(BorderFactory.createEmptyBorder());
    builder.add(pane, cc.xy(2, 2));

    return builder.getPanel();
}

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

License:Open Source License

public JComponent build() {
    // Apply the orientation for the locale
    Locale locale = new Locale(configuration.getLanguage());
    ComponentOrientation orientation = ComponentOrientation.getOrientation(locale);
    String colSpec = FormLayoutUtil.getColSpec(PANEL_COL_SPEC, orientation);

    // Set basic layout
    FormLayout layout = new FormLayout(colSpec, PANEL_ROW_SPEC);
    PanelBuilder builder = new PanelBuilder(layout);
    builder.border(Borders.DLU4);//w w w  .j a  va 2s. c o  m
    builder.opaque(true);

    CellConstraints cc = new CellConstraints();

    // Init all gui components
    initSimpleComponents(cc);
    PanelBuilder builderSharedFolder = initSharedFoldersGuiComponents(cc);

    // Build gui with initialized components
    JComponent cmp = builder.addSeparator(Messages.getString("FoldTab.13"),
            FormLayoutUtil.flip(cc.xyw(1, 1, 10), colSpec, orientation));
    cmp = (JComponent) cmp.getComponent(0);
    cmp.setFont(cmp.getFont().deriveFont(Font.BOLD));

    builder.add(thumbgenCheckBox, FormLayoutUtil.flip(cc.xyw(1, 3, 3), colSpec, orientation));
    builder.addLabel(Messages.getString("NetworkTab.16"),
            FormLayoutUtil.flip(cc.xyw(4, 3, 3), colSpec, orientation));
    builder.add(seekpos, FormLayoutUtil.flip(cc.xyw(6, 3, 1), colSpec, orientation));

    builder.add(mplayer_thumb, FormLayoutUtil.flip(cc.xyw(1, 5, 3), colSpec, orientation));
    builder.add(dvdiso_thumb, FormLayoutUtil.flip(cc.xyw(3, 5, 3), colSpec, orientation));

    builder.add(image_thumb, FormLayoutUtil.flip(cc.xyw(1, 7, 3), colSpec, orientation));

    builder.addLabel(Messages.getString("FoldTab.26"),
            FormLayoutUtil.flip(cc.xyw(1, 9, 3), colSpec, orientation));
    builder.add(audiothumbnail, FormLayoutUtil.flip(cc.xyw(4, 9, 3), colSpec, orientation));

    builder.addLabel(Messages.getString("FoldTab.27"),
            FormLayoutUtil.flip(cc.xyw(1, 11, 1), colSpec, orientation));
    builder.add(defaultThumbFolder, FormLayoutUtil.flip(cc.xyw(4, 11, 3), colSpec, orientation));
    builder.add(select, FormLayoutUtil.flip(cc.xyw(7, 11, 1), colSpec, orientation));

    cmp = builder.addSeparator(Messages.getString("NetworkTab.15"),
            FormLayoutUtil.flip(cc.xyw(1, 13, 10), colSpec, orientation));
    cmp = (JComponent) cmp.getComponent(0);
    cmp.setFont(cmp.getFont().deriveFont(Font.BOLD));

    builder.add(archive, FormLayoutUtil.flip(cc.xyw(1, 15, 3), colSpec, orientation));
    builder.add(hidevideosettings, FormLayoutUtil.flip(cc.xyw(4, 15, 2), colSpec, orientation));
    builder.add(hidetranscode, FormLayoutUtil.flip(cc.xyw(7, 15, 4), colSpec, orientation));

    builder.add(hideextensions, FormLayoutUtil.flip(cc.xyw(1, 17, 3), colSpec, orientation));
    builder.add(hideengines, FormLayoutUtil.flip(cc.xyw(4, 17, 2), colSpec, orientation));
    builder.add(hideemptyfolders, FormLayoutUtil.flip(cc.xyw(7, 17, 4), colSpec, orientation));

    builder.add(itunes, FormLayoutUtil.flip(cc.xyw(1, 19, 3), colSpec, orientation));
    builder.add(iphoto, FormLayoutUtil.flip(cc.xyw(4, 19, 2), colSpec, orientation));
    builder.add(aperture, FormLayoutUtil.flip(cc.xyw(7, 19, 4), colSpec, orientation));

    builder.add(cacheenable, FormLayoutUtil.flip(cc.xy(1, 21), colSpec, orientation));
    builder.add(cachereset, FormLayoutUtil.flip(cc.xyw(4, 21, 2), colSpec, orientation));
    builder.add(hidemedialibraryfolder, FormLayoutUtil.flip(cc.xyw(7, 21, 4), colSpec, orientation));

    builder.addLabel(Messages.getString("FoldTab.18"),
            FormLayoutUtil.flip(cc.xyw(1, 23, 3), colSpec, orientation));
    builder.add(sortmethod, FormLayoutUtil.flip(cc.xyw(4, 23, 3), colSpec, orientation));

    builder.add(builderSharedFolder.getPanel(), FormLayoutUtil.flip(cc.xyw(1, 27, 10), colSpec, orientation));

    JPanel panel = builder.getPanel();

    // Apply the orientation to the panel and all components in it
    panel.applyComponentOrientation(orientation);

    JScrollPane scrollPane = new JScrollPane(panel, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
            JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    scrollPane.setBorder(BorderFactory.createEmptyBorder());
    return scrollPane;
}

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

License:Open Source License

private PanelBuilder initSharedFoldersGuiComponents(CellConstraints cc) {
    // Apply the orientation for the locale
    Locale locale = new Locale(configuration.getLanguage());
    ComponentOrientation orientation = ComponentOrientation.getOrientation(locale);
    String colSpec = FormLayoutUtil.getColSpec(SHARED_FOLDER_COL_SPEC, orientation);

    FormLayout layoutFolders = new FormLayout(colSpec, SHARED_FOLDER_ROW_SPEC);
    PanelBuilder builderFolder = new PanelBuilder(layoutFolders);
    builderFolder.opaque(true);

    JComponent cmp = builderFolder.addSeparator(Messages.getString("FoldTab.7"),
            FormLayoutUtil.flip(cc.xyw(1, 1, 6), colSpec, orientation));
    cmp = (JComponent) cmp.getComponent(0);
    cmp.setFont(cmp.getFont().deriveFont(Font.BOLD));

    JButton but = new JButton(LooksFrame.readImageIcon("folder_new-32.png"));
    but.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent e) {
            JFileChooser chooser = null;
            try {
                chooser = new JFileChooser();
            } catch (Exception ee) {
                chooser = new JFileChooser(new RestrictedFileSystemView());
            }/*from   w  w w .j a  va  2 s  .c  o  m*/
            chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
            //int returnVal = chooser.showDialog((Component) e.getSource(), Messages.getString("FoldTab.9"));
            int returnVal = chooser.showOpenDialog((Component) e.getSource());
            if (returnVal == JFileChooser.APPROVE_OPTION) {
                ((DefaultListModel) FList.getModel()).add(FList.getModel().getSize(),
                        chooser.getSelectedFile().getAbsolutePath());
                if (FList.getModel().getElementAt(0).equals(ALL_DRIVES)) {
                    ((DefaultListModel) FList.getModel()).remove(0);
                }
                updateModel();
            }
        }
    });
    builderFolder.add(but, FormLayoutUtil.flip(cc.xy(1, 3), colSpec, orientation));
    JButton but2 = new JButton(LooksFrame.readImageIcon("button_cancel-32.png"));
    //but2.setBorder(BorderFactory.createEtchedBorder());
    but2.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent e) {
            if (FList.getSelectedIndex() > -1) {
                ((DefaultListModel) FList.getModel()).remove(FList.getSelectedIndex());
                if (FList.getModel().getSize() == 0) {
                    ((DefaultListModel) FList.getModel()).add(0, ALL_DRIVES);
                }
                updateModel();
            }
        }
    });
    builderFolder.add(but2, FormLayoutUtil.flip(cc.xy(2, 3), colSpec, orientation));

    JButton but3 = new JButton(LooksFrame.readImageIcon("kdevelop_down-32.png"));
    but3.setToolTipText(Messages.getString("FoldTab.12"));
    // but3.setBorder(BorderFactory.createEmptyBorder());
    but3.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            DefaultListModel model = ((DefaultListModel) FList.getModel());
            for (int i = 0; i < model.size() - 1; i++) {
                if (FList.isSelectedIndex(i)) {
                    String value = model.get(i).toString();
                    model.set(i, model.get(i + 1));
                    model.set(i + 1, value);
                    FList.setSelectedIndex(i + 1);
                    updateModel();
                    break;
                }
            }
        }
    });

    builderFolder.add(but3, FormLayoutUtil.flip(cc.xy(3, 3), colSpec, orientation));
    JButton but4 = new JButton(LooksFrame.readImageIcon("up-32.png"));
    but4.setToolTipText(Messages.getString("FoldTab.12"));
    //  but4.setBorder(BorderFactory.createEmptyBorder());
    but4.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            DefaultListModel model = ((DefaultListModel) FList.getModel());
            for (int i = 1; i < model.size(); i++) {
                if (FList.isSelectedIndex(i)) {
                    String value = model.get(i).toString();

                    model.set(i, model.get(i - 1));
                    model.set(i - 1, value);
                    FList.setSelectedIndex(i - 1);
                    updateModel();
                    break;

                }
            }
        }
    });
    builderFolder.add(but4, FormLayoutUtil.flip(cc.xy(4, 3), colSpec, orientation));

    but5 = new JButton(LooksFrame.readImageIcon("search-32.png"));
    but5.setToolTipText(Messages.getString("FoldTab.2"));
    //but5.setBorder(BorderFactory.createEmptyBorder());
    but5.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            if (configuration.getUseCache()) {
                DLNAMediaDatabase database = PMS.get().getDatabase();

                if (database != null) {
                    if (!database.isScanLibraryRunning()) {
                        int option = JOptionPane.showConfirmDialog((Component) PMS.get().getFrame(),
                                Messages.getString("FoldTab.3") + Messages.getString("FoldTab.4"),
                                Messages.getString("Dialog.Question"), JOptionPane.YES_NO_OPTION);
                        if (option == JOptionPane.YES_OPTION) {
                            database.scanLibrary();
                            but5.setIcon(LooksFrame.readImageIcon("viewmagfit-32.png"));
                        }
                    } else {
                        int option = JOptionPane.showConfirmDialog((Component) PMS.get().getFrame(),
                                Messages.getString("FoldTab.10"), Messages.getString("Dialog.Question"),
                                JOptionPane.YES_NO_OPTION);
                        if (option == JOptionPane.YES_OPTION) {
                            database.stopScanLibrary();
                            PMS.get().getFrame().setStatusLine(null);
                            but5.setIcon(LooksFrame.readImageIcon("search-32.png"));
                        }
                    }
                }
            }
        }
    });

    builderFolder.add(but5, FormLayoutUtil.flip(cc.xy(5, 3), colSpec, orientation));
    but5.setEnabled(configuration.getUseCache());

    df = new DefaultListModel();
    File[] folders = PMS.get().getFoldersConf();
    if (folders != null && folders.length > 0) {
        for (File file : folders) {
            df.addElement(file.getAbsolutePath());
        }
    } else {
        df.addElement(ALL_DRIVES);
    }
    FList = new JList();
    FList.setModel(df);
    JScrollPane pane = new JScrollPane(FList);
    builderFolder.add(pane, FormLayoutUtil.flip(cc.xyw(1, 5, 6), colSpec, orientation));

    return builderFolder;
}

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

License:Open Source License

public JComponent build() {
    // Apply the orientation for the locale
    Locale locale = new Locale(configuration.getLanguage());
    ComponentOrientation orientation = ComponentOrientation.getOrientation(locale);
    String colSpec = FormLayoutUtil.getColSpec("0:grow, pref, 0:grow", orientation);

    FormLayout layout = new FormLayout(colSpec,
            "pref, 9dlu, pref, 3dlu, pref, 15dlu, pref, 3dlu, p, 3dlu, p, 3dlu, p, 9dlu, p, 5dlu, p");

    PanelBuilder builder = new PanelBuilder(layout);
    builder.border(Borders.DLU9);/*from w ww  .  j  a  v a 2 s.com*/
    builder.opaque(true);
    CellConstraints cc = new CellConstraints();

    JComponent cmp = builder.addSeparator(Messages.getString("StatusTab.2"),
            FormLayoutUtil.flip(cc.xy(2, 1), colSpec, orientation));
    cmp = (JComponent) cmp.getComponent(0);
    cmp.setFont(cmp.getFont().deriveFont(Font.BOLD));

    jl = new JLabel(Messages.getString("StatusTab.3"));

    builder.add(jl, FormLayoutUtil.flip(cc.xy(2, 3), colSpec, orientation));
    imagePanel = buildImagePanel("/resources/images/connect_no-220.png");
    builder.add(imagePanel, FormLayoutUtil.flip(cc.xy(2, 5, "center, fill"), colSpec, orientation));

    jpb = new JProgressBar(0, 100);
    jpb.setStringPainted(true);
    jpb.setString(Messages.getString("StatusTab.5"));

    builder.addLabel(Messages.getString("StatusTab.6"), FormLayoutUtil.flip(cc.xy(2, 7), colSpec, orientation));
    builder.add(jpb, FormLayoutUtil.flip(cc.xy(2, 9), colSpec, orientation));
    //builder.addLabel(Messages.getString("StatusTab.7"),  FormLayoutUtil.flip(cc.xy(2,  11), colSpec, orientation));
    jio = new JLabel(Messages.getString("StatusTab.8"));
    builder.add(jio, FormLayoutUtil.flip(cc.xy(2, 13), colSpec, orientation));

    cmp = builder.addSeparator(Messages.getString("StatusTab.9"),
            FormLayoutUtil.flip(cc.xy(2, 15), colSpec, orientation));
    cmp = (JComponent) cmp.getComponent(0);
    cmp.setFont(cmp.getFont().deriveFont(Font.BOLD));

    FormLayout layoutRenderer = new FormLayout(
            "0:grow, pref, pref, pref, pref, pref, pref, pref, pref, pref, pref, 0:grow", "pref, 3dlu, pref");
    PanelBuilder rendererBuilder = new PanelBuilder(layoutRenderer);
    rendererBuilder.opaque(true);
    for (int i = 0; i < MAX_RENDERERS; i++) {
        renderers[i] = buildImagePanel(null);
        rendererBuilder.add(renderers[i], cc.xy(2 + i, 1));
        rendererLabels[i] = new JLabel("");
        rendererBuilder.add(rendererLabels[i],
                cc.xy(2 + i, 3, CellConstraints.CENTER, CellConstraints.DEFAULT));
    }

    builder.add(rendererBuilder.getPanel(), cc.xy(2, 17));

    JPanel panel = builder.getPanel();

    // Apply the orientation to the panel and all components in it
    panel.applyComponentOrientation(orientation);

    JScrollPane scrollPane = new JScrollPane(panel, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
            JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    scrollPane.setBorder(BorderFactory.createEmptyBorder());
    return scrollPane;
}

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

License:Open Source License

public JComponent build() {
    // Apply the orientation for the locale
    Locale locale = new Locale(configuration.getLanguage());
    ComponentOrientation orientation = ComponentOrientation.getOrientation(locale);
    String colSpec = FormLayoutUtil.getColSpec("left:pref, 10:grow", orientation);

    FormLayout layout = new FormLayout(colSpec, "fill:10:grow, p");
    PanelBuilder builder = new PanelBuilder(layout);
    builder.opaque(true);

    CellConstraints cc = new CellConstraints();

    // create trace text box
    jList = new JTextArea();
    jList.setEditable(false);//  w  ww.j a  va 2  s  .com
    jList.setBackground(Color.WHITE);
    jList.setFont(new Font(Font.MONOSPACED, Font.PLAIN, 12));
    final JPopupMenu popup = new JPopupMenu();
    JMenuItem defaultItem = new JMenuItem(Messages.getString("TracesTab.3"));

    defaultItem.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            jList.setText("");
        }
    });

    popup.add(defaultItem);
    jList.addMouseListener(new PopupTriggerMouseListener(popup, jList));

    jListPane = new JScrollPane(jList, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
            JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    jListPane.setBorder(BorderFactory.createEmptyBorder());
    builder.add(jListPane, cc.xyw(1, 1, 2));

    // Add buttons to open logfiles (there may be more than one)
    JPanel pLogfileButtons = new JPanel(new FlowLayout(FlowLayout.RIGHT));
    HashMap<String, String> logfiles = LoggingConfigFileLoader.getLogFilePaths();

    for (String loggerName : logfiles.keySet()) {
        JButton b = new JButton(loggerName);
        b.setToolTipText(logfiles.get(loggerName));

        b.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                File logfile = new File(((JButton) e.getSource()).getToolTipText());
                try {
                    java.awt.Desktop.getDesktop().open(logfile);
                } catch (IOException ioe) {
                    logger.error(String.format("Failed to open file %s in default editor", logfile), ioe);
                } catch (UnsupportedOperationException usoe) {
                    logger.error(String.format("Failed to open file %s in default editor", logfile), usoe);
                }
            }
        });

        pLogfileButtons.add(b);
    }

    builder.add(pLogfileButtons, cc.xy(2, 2));
    return builder.getPanel();
}

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

License:Open Source License

public JComponent build() {
    String colSpec = FormLayoutUtil.getColSpec(MAIN_COL_SPEC, orientation);
    FormLayout mainlayout = new FormLayout(colSpec, MAIN_ROW_SPEC);
    PanelBuilder builder = new PanelBuilder(mainlayout);
    builder.border(Borders.DLU4);/*from   ww w .  ja v  a 2  s  .c  o  m*/
    builder.opaque(true);

    CellConstraints cc = new CellConstraints();
    builder.add(buildRightTabbedPanel(), FormLayoutUtil.flip(cc.xyw(4, 1, 3), colSpec, orientation));
    builder.add(buildLeft(), FormLayoutUtil.flip(cc.xy(2, 1), colSpec, orientation));

    JPanel panel = builder.getPanel();

    // Apply the orientation to the panel and all components in it
    panel.applyComponentOrientation(orientation);

    return panel;
}