List of usage examples for com.jgoodies.forms.layout Sizes dialogUnitXAsPixel
public static int dialogUnitXAsPixel(int dluX, Component component)
From source file:tvbrowser.extras.favoritesplugin.wizards.WizardDlg.java
License:Open Source License
private void init(WizardStep step, WizardHandler handler) { setSize(Sizes.dialogUnitXAsPixel(330, this), Sizes.dialogUnitYAsPixel(190, this)); UiUtilities.registerForClosing(this); mResult = CANCEL;//from w w w. j av a 2 s . c om mHandler = handler; JPanel panel = (JPanel) getContentPane(); panel.setLayout(new FormLayout("fill:default:grow", "fill:pref:grow, 3dlu, bottom:pref")); panel.setBorder(Borders.DLU4_BORDER); switchToStep(step); }
From source file:tvbrowser.extras.searchplugin.RepetitionDialog.java
License:Open Source License
/** * Create the Gui//from w w w . j a v a2 s.co m * @param channel * defines the first channel of the channel list */ private void createGui(Channel channel) { setTitle(mLocalizer.msg("title", "Search repetition")); JPanel panel = (JPanel) getContentPane(); panel.setLayout(new FormLayout("pref, 3dlu, 0dlu:grow", "pref, 3dlu, pref, 3dlu, pref, 3dlu, pref, fill:5dlu:grow, pref")); panel.setBorder(Borders.DLU7_BORDER); CellConstraints cc = new CellConstraints(); panel.add(DefaultComponentFactory.getInstance() .createSeparator(mLocalizer.msg("searchForRepetition", "Search for repetitions")), cc.xyw(1, 1, 3)); panel.add(new JLabel(mLocalizer.msg("forProgram", "of:")), cc.xy(1, 3)); mText = new JTextField(); panel.add(mText, cc.xy(3, 3)); panel.add(new JLabel(mLocalizer.msg("on", "on:")), cc.xy(1, 5)); final Vector<Object> list = new Vector<Object>(); list.add(mLocalizer.msg("allChannels", "All channels")); // We need a modify-able list here List<Channel> channelList = new ArrayList<Channel>(Arrays.asList(ChannelList.getSubscribedChannels())); if (channel != null) { // bring the defined channel on the first position list.add(channel); channelList.remove(channel); } list.addAll(channelList); mChannelChooser = new JComboBox(list); mChannelChooser.setRenderer(new ChannelListCellRenderer(true, true)); panel.add(mChannelChooser, cc.xy(3, 5)); panel.add(new JLabel(mLocalizer.msg("when", "when:")), cc.xy(1, 7)); String[] dates = { Localizer.getLocalization(Localizer.I18N_TODAY), Localizer.getLocalization(Localizer.I18N_TOMORROW), mLocalizer.msg("oneWeek", "one week"), mLocalizer.msg("twoWeeks", "two weeks"), mLocalizer.msg("threeWeeks", "three weeks"), mLocalizer.msg("allData", "all data") }; mTimeChooser = new JComboBox(dates); mTimeChooser.setSelectedIndex(SearchPlugin.getInstance().getRepetitionTimeSelection()); panel.add(mTimeChooser, cc.xy(3, 7)); JButton stdSearch = new JButton(mLocalizer.ellipsisMsg("more", "More")); stdSearch.setToolTipText(mLocalizer.msg("standardSearch", "Open standard search")); stdSearch.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { close(); SearchPlugin.getInstance().openSearchDialog(mText.getText()); } }); ButtonBarBuilder2 builder = new ButtonBarBuilder2(); builder.addButton(stdSearch); builder.addUnrelatedGap(); builder.addGlue(); JButton go = new JButton(mLocalizer.msg("go", "go")); go.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent actionEvent) { search(); } }); JButton cancel = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL)); cancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent actionEvent) { close(); } }); builder.addButton(new JButton[] { go, cancel }); panel.add(builder.getPanel(), cc.xyw(1, 9, 3)); Settings.layoutWindow("extras.repetitionDialog", this, new Dimension(Sizes.dialogUnitXAsPixel(220, this), Sizes.dialogUnitYAsPixel(125, this))); UiUtilities.registerForClosing(this); getRootPane().setDefaultButton(go); }
From source file:tvbrowser.ui.configassistant.NetworkCardPanel.java
License:Open Source License
public JPanel getPanel() { mContent = new JPanel(new BorderLayout()); mContent.add(new StatusPanel(StatusPanel.NETWORK), BorderLayout.NORTH); JPanel content = new JPanel(new FormLayout("fill:pref:grow, fill:300dlu:grow, fill:pref:grow", "fill:pref:grow, pref, 3dlu, pref, 3dlu, pref,3dlu, pref,3dlu, pref, fill:pref:grow")); content.setBorder(Borders.DLU4_BORDER); CellConstraints cc = new CellConstraints(); content.add(UiUtilities.createHtmlHelpTextArea(mLocalizer.msg("preambel", "Preambel")), cc.xy(2, 2)); mProxyCB = new JCheckBox(mLocalizer.msg("usingProxy", "Using Proxy")); mProxyCB.setSelected(Settings.propHttpProxyUseProxy.getBoolean()); content.add(mProxyCB, cc.xy(2, 6));/*www .j a v a 2s .co m*/ // Proxy - Subpanel JPanel proxyPanel = new JPanel( new FormLayout("fill:pref:grow", "pref, 3dlu, pref, 3dlu, pref, 3dlu, pref")); proxyPanel.setBorder(BorderFactory.createEmptyBorder(0, Sizes.dialogUnitXAsPixel(10, proxyPanel), 0, 0)); mProxyHeadline = new JLabel(mLocalizer.msg("myProxy", "My Proxy")); proxyPanel.add(mProxyHeadline, cc.xy(1, 1)); JPanel hostPanel = new JPanel(new FormLayout("pref, 3dlu, pref, 3dlu, pref, 3dlu, pref", "pref")); mHostLB = new JLabel(mLocalizer.msg("host", "Host")); hostPanel.add(mHostLB, cc.xy(1, 1)); mHostTF = new JTextField(20); mHostTF.setText(Settings.propHttpProxyHost.getString()); hostPanel.add(mHostTF, cc.xy(3, 1)); mPortLB = new JLabel(mLocalizer.msg("port", "Port")); hostPanel.add(mPortLB, cc.xy(5, 1)); mPortTF = new JTextField(4); hostPanel.add(mPortTF, cc.xy(7, 1)); mPortTF.setText(Settings.propHttpProxyPort.getString()); proxyPanel.add(hostPanel, cc.xy(1, 3)); mAuthCB = new JCheckBox(mLocalizer.msg("auth", "authentification")); mAuthCB.setSelected(Settings.propHttpProxyAuthentifyAtProxy.getBoolean()); proxyPanel.add(mAuthCB, cc.xy(1, 5)); JPanel userPanel = new JPanel(new FormLayout("10dlu, pref, 3dlu, pref, 3dlu, pref, 3dlu, pref", "pref")); mUserLB = new JLabel(mLocalizer.msg("user", "User")); userPanel.add(mUserLB, cc.xy(2, 1)); mUserTF = new JTextField(10); mUserTF.setText(Settings.propHttpProxyUser.getString()); userPanel.add(mUserTF, cc.xy(4, 1)); mPasswordLB = new JLabel(mLocalizer.msg("password", "Password")); userPanel.add(mPasswordLB, cc.xy(6, 1)); mPasswordTF = new JPasswordField(10); mPasswordTF.setText(Settings.propHttpProxyPassword.getString()); userPanel.add(mPasswordTF, cc.xy(8, 1)); proxyPanel.add(userPanel, cc.xy(1, 7)); content.add(proxyPanel, cc.xy(2, 8)); content.add(UiUtilities.createHtmlHelpTextArea(mLocalizer.msg("closing", "Closing")), cc.xy(2, 10)); mContent.add(content, BorderLayout.CENTER); updateFieldState(); mProxyCB.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { updateFieldState(); } }); mAuthCB.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { updateFieldState(); } }); findProxySettings(); return mContent; }
From source file:tvbrowser.ui.mainframe.MainFrame.java
License:Open Source License
protected void showPluginInfoDlg() { Window parent = UiUtilities.getLastModalChildOf(this); PluginInformationDialog dlg = new PluginInformationDialog(parent); Settings.layoutWindow("main.pluginInfoDlg", dlg, new Dimension(Sizes.dialogUnitXAsPixel(420, dlg), Sizes.dialogUnitYAsPixel(215, dlg))); dlg.setVisible(true);// w w w. ja v a 2 s .c o m }
From source file:tvbrowser.ui.settings.ChannelsSettingsTab.java
License:Open Source License
/** * Create the SettingsPanel// w w w . j ava 2s . c o m * * @return the SettingsPanel */ public JPanel createSettingsPanel() { mChannelListModel = new ChannelListModel(); JPanel panel = new JPanel(new BorderLayout()); JPanel northPn = new JPanel(new GridLayout(1, 2)); JPanel centerPn = new JPanel(new GridLayout(1, 2)); JPanel southPn = new JPanel(new BorderLayout()); southPn.setBorder(BorderFactory.createEmptyBorder(5, 0, 5, 0)); panel.add(northPn, BorderLayout.NORTH); panel.add(centerPn, BorderLayout.CENTER); panel.add(southPn, BorderLayout.SOUTH); mAvailableSeparator = DefaultComponentFactory.getInstance() .createSeparator(mLocalizer.msg("availableChannels", "Available channels") + ":"); mAvailableSeparator.setBorder(BorderFactory.createEmptyBorder(5, 0, 5, 5)); mSubscribedSeparator = DefaultComponentFactory.getInstance() .createSeparator(mLocalizer.msg("subscribedChannels", "Subscribed channels") + ":"); mSubscribedSeparator.setBorder(BorderFactory.createEmptyBorder(5, 0, 5, 5)); northPn.add(mAvailableSeparator, BorderLayout.NORTH); northPn.add(mSubscribedSeparator, BorderLayout.NORTH); // left list box JPanel listBoxPnLeft = new JPanel(new BorderLayout()); mAllChannels = new ChannelJList(new DefaultListModel()); mAllChannels.setCellRenderer(new ChannelListCellRenderer(true, true, true, true)); listBoxPnLeft.add(new JScrollPane(mAllChannels), BorderLayout.CENTER); /* mAllChannels.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { if ((mAllChannels.getModel().getSize() == 1) && (mAllChannels.getSelectedIndex() >= 0) && (mAllChannels.getSelectedValue() instanceof String)) { mAllChannels.setSelectedIndices(new int[] {}); } } }); */ centerPn.add(listBoxPnLeft); mRightButton = new JButton(TVBrowserIcons.right(TVBrowserIcons.SIZE_LARGE)); mRightButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { moveChannelsToRight(); } }); mLeftButton = new JButton(TVBrowserIcons.left(TVBrowserIcons.SIZE_LARGE)); mLeftButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { moveChannelsToLeft(); } }); JPanel btnPanel = createButtonPn(mRightButton, mLeftButton); btnPanel.setBorder(BorderFactory.createEmptyBorder(0, Sizes.dialogUnitXAsPixel(3, btnPanel), 0, Sizes.dialogUnitXAsPixel(3, btnPanel))); listBoxPnLeft.add(btnPanel, BorderLayout.EAST); // right list box JPanel listBoxPnRight = new JPanel(new BorderLayout()); SortableItemList channelList = new SortableItemList(new ChannelJList()); mSubscribedChannels = channelList.getList(); mFilter = new ChannelFilter(); mSubscribedChannels.setCellRenderer(new FilteredChannelListCellRenderer(mFilter)); // Register DnD on the lists. mDnDHandler = new ListDragAndDropHandler(mAllChannels, mSubscribedChannels, this); mDnDHandler.setPaintCueLine(false, true); // Register the listener for DnD on the lists. new DragAndDropMouseListener(mAllChannels, mSubscribedChannels, this, mDnDHandler); mSubscribedChannelListener = new DragAndDropMouseListener(mSubscribedChannels, mAllChannels, this, mDnDHandler); restoreForPopup(); listBoxPnRight.add(new JScrollPane(mSubscribedChannels), BorderLayout.CENTER); final JButton configureChannels = new JButton( mLocalizer.msg("configSelectedChannels", "Configure selected channels")); configureChannels.setEnabled(false); configureChannels.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { configChannels(); } }); mSubscribedChannels.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { if (mSubscribedChannels.getSelectedValues().length > 0) { configureChannels.setEnabled(true); } else { configureChannels.setEnabled(false); } } }); // use INSERT key on left side to move selected channels to active channel // list mAllChannels.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_INSERT) { moveChannelsToRight(); } } }); // use DELETE key on right side to remove selected channels mSubscribedChannels.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_DELETE) { moveChannelsToLeft(); } } }); JPanel btnPanel2 = createButtonPn(channelList.getTopButton(), channelList.getUpButton(), channelList.getDownButton(), channelList.getBottomButton()); btnPanel2.setBorder(BorderFactory.createEmptyBorder(0, Sizes.dialogUnitXAsPixel(3, btnPanel2), 0, 0)); listBoxPnRight.add(btnPanel2, BorderLayout.EAST); centerPn.add(listBoxPnRight); final JPanel result = new JPanel(new BorderLayout()); result.addComponentListener(new ComponentAdapter() { @Override public void componentHidden(ComponentEvent e) { if (e.getComponent() == result) { mRefreshListTimer = null; } } }); result.add(createFilterPanel(), BorderLayout.NORTH); result.add(panel, BorderLayout.CENTER); LinkButton urlLabel = new LinkButton( mLocalizer.msg("addMoreChannels", "Ihnen fehlt Ihr Lieblings-Sender? Clicken Sie hier fr eine Liste weiterer Sender."), mLocalizer.msg("addMoreChannelsUrl", "http://wiki.tvbrowser.org/index.php/Senderliste")); JPanel buttonsPanel = new JPanel(new BorderLayout()); // buttonsPanel.add(pn2, BorderLayout.EAST); buttonsPanel.add(urlLabel, BorderLayout.SOUTH); result.add(buttonsPanel, BorderLayout.SOUTH); JButton refreshList = new JButton(mLocalizer.msg("updateChannelList", "Update channel list"), TVBrowserIcons.refresh(TVBrowserIcons.SIZE_SMALL)); refreshList.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { refreshChannelList(); } }); southPn.add(refreshList, BorderLayout.WEST); southPn.add(configureChannels, BorderLayout.EAST); mListUpdating = true; updateFilterPanel(); fillSubscribedChannelsListBox(); fillAvailableChannelsListBox(); mListUpdating = false; panel.addAncestorListener(new AncestorListener() { public void ancestorRemoved(AncestorEvent event) { Settings.propSelectedChannelCategoryIndex.setByte((byte) mCategoryCB.getSelectedIndex()); String country = ""; if (mCountryCB.getSelectedIndex() >= 0) { Object object = ((FilterItem) mCountryCB.getSelectedItem()).getValue(); if (object != null) { country = object.toString(); } } Settings.propSelectedChannelCountry.setString(country); } public void ancestorAdded(AncestorEvent event) { if (!mInitChannelsAsked && mChannelListModel.getAvailableChannels().length == 0) { mInitChannelsAsked = true; int ret = JOptionPane.showConfirmDialog(result, mLocalizer.msg("loadChannelsQuestion", "Should I download the channel list?"), mLocalizer.msg("loadChannelsTitle", "No channels found"), JOptionPane.YES_NO_OPTION); if (ret == JOptionPane.YES_OPTION) { refreshChannelList(); } } } public void ancestorMoved(AncestorEvent event) { } }); result.setBorder(BorderFactory.createEmptyBorder(9, 9, 9, 9)); return result; }
From source file:tvbrowser.ui.settings.looksSettings.SkinLNFSettings.java
License:Open Source License
/** * Create the GUI/*from w w w . java2s . c om*/ */ private void createGui() { JPanel content = (JPanel) getContentPane(); content.setLayout(new FormLayout("5dlu, fill:50dlu:grow, 3dlu", "pref, 5dlu, pref, 5dlu, pref, 5dlu, pref, fill:3dlu:grow, pref")); content.setBorder(Borders.DLU4_BORDER); CellConstraints cc = new CellConstraints(); content.add(DefaultComponentFactory.getInstance() .createSeparator(Localizer.getLocalization(Localizer.I18N_HELP)), cc.xyw(1, 1, 3)); content.add( UiUtilities.createHtmlHelpTextArea( mLocalizer.msg("skinLFInfo", "Skin Info", "http://tvbrowser.org/themepacks.php")), cc.xyw(2, 3, 2)); String temp = Settings.propSkinLFThemepack.getString(); temp = StringUtils.substringAfterLast(temp, File.separator); String[] skins = getThemePacks(); mThemePack = new JComboBox(skins); mThemePack.setSelectedItem(temp); content.add(DefaultComponentFactory.getInstance() .createSeparator(mLocalizer.msg("chooseThemepack", "Choose Themepack")), cc.xyw(1, 5, 3)); content.add(mThemePack, cc.xy(2, 7)); JButton ok = new JButton(Localizer.getLocalization(Localizer.I18N_OK)); ok.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { okPressed(); } }); JButton cancel = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL)); cancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { cancelPressed(); } }); ButtonBarBuilder2 bar = new ButtonBarBuilder2(); bar.addButton(new JButton[] { ok, cancel }); JPanel panel = new JPanel(new FlowLayout(FlowLayout.RIGHT, 0, 0)); panel.add(bar.getPanel()); content.add(panel, cc.xyw(1, 9, 3)); UiUtilities.registerForClosing(this); setPreferredSize(new Dimension(Sizes.dialogUnitXAsPixel(270, this), Sizes.dialogUnitYAsPixel(180, this))); pack(); }
From source file:tvbrowser.ui.settings.TrayProgramsChannelsSettingsTab.java
License:Open Source License
public JPanel createSettingsPanel() { mInstance = this; PanelBuilder builder = new PanelBuilder( new FormLayout("5dlu,pref,2dlu,default,5dlu,pref,fill:default:grow,5dlu", "pref,5dlu,pref,10dlu,pref,5dlu,pref,10dlu,fill:default:grow,5dlu,pref")); builder.setDefaultDialogBorder();/*w w w .j ava 2s .com*/ CellConstraints cc = new CellConstraints(); try { mChannelWidth = new JSlider(SwingConstants.HORIZONTAL, 50, 150, Settings.propTrayChannelWidth.getInt()); } catch (Exception e) { e.printStackTrace(); } mUseUserChannels = new JCheckBox(mLocalizer.msg("userChannels", "Use user defined channels"), Settings.propTrayUseSpecialChannels.getBoolean()); mUseUserChannels.setToolTipText(mLocalizer.msg("userChannelsToolTip", "<html>If you select this you can choose the channels that will be used for<br><b>Programs at...</b> and <b>Now/Soon running programs</b>.<br>If this isn't selected the first 10 channels in default order will be used.</html>")); mChannelOCh = new OrderChooser(Settings.propTraySpecialChannels.getChannelArray(), Settings.propSubscribedChannels.getChannelArray(), true); mHelpLabel = UiUtilities.createHtmlHelpTextArea(mLocalizer.msg("help", "The Tray is deactivated. To activate these settings activate the option <b>Tray activated</b> in the <a href=\"#link\">Tray Base settings</a>."), new HyperlinkListener() { public void hyperlinkUpdate(HyperlinkEvent e) { if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { SettingsDialog.getInstance().showSettingsTab(SettingsItem.TRAY); } } }); mHelpLinkText = mHelpLabel.getText(); mHelpLabel.setFont(mUseUserChannels.getFont()); builder.addSeparator(mLocalizer.msg("channelColumnWidth", "Column with for channel name"), cc.xyw(1, 1, 8)); builder.add(mChannelWidth, cc.xy(2, 3)); final JLabel valueLabel = builder.addLabel(String.valueOf(mChannelWidth.getValue()), cc.xy(4, 3)); valueLabel.setHorizontalAlignment(SwingConstants.RIGHT); Dimension dim = valueLabel.getPreferredSize(); valueLabel.setPreferredSize(new Dimension(Sizes.dialogUnitXAsPixel(20, builder.getPanel()), dim.height)); mChannelWidth.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { valueLabel.setText(String.valueOf(mChannelWidth.getValue())); } }); JButton reset = new JButton(Localizer.getLocalization(Localizer.I18N_DEFAULT)); reset.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { mChannelWidth.setValue(Settings.propTrayChannelWidth.getDefault()); } }); builder.add(reset, cc.xy(6, 3)); JPanel c = (JPanel) builder.addSeparator( mLocalizer.msg("channelsSeparator", "Which channels should be used for these displays?"), cc.xyw(1, 5, 8)); builder.add(mUseUserChannels, cc.xyw(2, 7, 7)); builder.add(mChannelOCh, cc.xyw(2, 9, 7)); builder.add(mHelpLabel, cc.xyw(1, 11, 8)); mSeparator1 = (JLabel) c.getComponent(0); setEnabled(true); mUseUserChannels.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { setEnabled(false); } }); return builder.getPanel(); }
From source file:tvbrowser.ui.update.SoftwareUpdateDlg.java
License:Open Source License
private void createGui(String downloadUrl, boolean onlyUpdate, SoftwareUpdateItem[] itemArr) { mDownloadUrl = downloadUrl;/* w w w .j ava2 s . com*/ setTitle(mLocalizer.msg("title", "Download plugins")); if (mIsVersionChange) { setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE); } JPanel contentPane = (JPanel) getContentPane(); contentPane.setLayout(new BorderLayout(0, 10)); contentPane.setBorder(BorderFactory.createEmptyBorder(10, 10, 11, 11)); mCloseBtn = new JButton(Localizer.getLocalization(Localizer.I18N_CLOSE)); mCloseBtn.addActionListener(this); mCloseBtn.setEnabled(!mIsVersionChange); mDownloadBtn = new JButton(mLocalizer.msg("download", "Download selected items")); mDownloadBtn.addActionListener(this); mHelpBtn = new JButton(mLocalizer.msg("openWebsite", "Open website"), TVBrowserIcons.webBrowser(TVBrowserIcons.SIZE_SMALL)); mHelpBtn.addActionListener(this); mHelpBtn.setEnabled(false); ButtonBarBuilder2 builder = new ButtonBarBuilder2(); if (onlyUpdate && !mIsVersionChange) { mAutoUpdates = new JCheckBox(mLocalizer.msg("autoUpdates", "Find plugin updates automatically"), Settings.propAutoUpdatePlugins.getBoolean()); mAutoUpdates.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { Settings.propAutoUpdatePlugins.setBoolean(e.getStateChange() == ItemEvent.SELECTED); } }); builder.addFixed(mAutoUpdates); builder.addRelatedGap(); } builder.addFixed(mHelpBtn); builder.addGlue(); builder.addFixed(mDownloadBtn); builder.addRelatedGap(); builder.addFixed(mCloseBtn); final CellConstraints cc = new CellConstraints(); FormLayout layout = new FormLayout("default,5dlu,0dlu:grow", "default"); JPanel northPn = new JPanel(layout); northPn.add( new JLabel(onlyUpdate ? mLocalizer.msg("updateHeader", "Updates for installed plugins were found.") : mLocalizer.msg("header", "Here you can download new plugins and updates for it.")), cc.xyw(1, 1, 3)); JPanel southPn = new JPanel(new BorderLayout()); southPn.add(builder.getPanel(), BorderLayout.SOUTH); ArrayList<SoftwareUpdateItem> selectedItems = new ArrayList<SoftwareUpdateItem>(); for (SoftwareUpdateItem item : itemArr) { if (item.isAlreadyInstalled() && item.getInstalledVersion().compareTo(item.getVersion()) < 0) { selectedItems.add(item); } } mDownloadBtn.setEnabled(!selectedItems.isEmpty()); mSoftwareUpdateItemList = new SelectableItemList( selectedItems.toArray(new SoftwareUpdateItem[selectedItems.size()]), itemArr); mSoftwareUpdateItemList.addListSelectionListener(this); mSoftwareUpdateItemList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); mSoftwareUpdateItemList.setListUI(new MyListUI()); mSoftwareUpdateItemList.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); mSoftwareUpdateItemList.addCenterRendererComponent(PluginsSoftwareUpdateItem.class, new SelectableItemRendererCenterComponentIf() { private final ImageIcon NEW_VERSION_ICON = IconLoader.getInstance().getIconFromTheme("status", "software-update-available", 16); public JPanel createCenterPanel(JList list, Object value, int index, boolean isSelected, boolean isEnabled, JScrollPane parentScrollPane, int leftColumnWidth) { FormLayout lay = new FormLayout("5dlu,default,5dlu,default:grow", "2dlu,default,2dlu,fill:pref:grow,2dlu"); EnhancedPanelBuilder pb = new EnhancedPanelBuilder(lay); pb.getPanel().setOpaque(false); SoftwareUpdateItem item = (SoftwareUpdateItem) value; JLabel label = pb.addLabel( HTMLTextHelper.convertHtmlToText(item.getName()) + " " + item.getVersion(), cc.xy(2, 2)); label.setFont(label.getFont().deriveFont(Font.BOLD, label.getFont().getSize2D() + 2)); int width = parentScrollPane.getSize().width - parentScrollPane.getVerticalScrollBar().getWidth() - leftColumnWidth - Sizes.dialogUnitXAsPixel(5, pb.getPanel()) * 4 - parentScrollPane.getInsets().left - parentScrollPane.getInsets().right; if (width <= 0) { width = Settings.propColumnWidth.getInt(); } TextAreaIcon icon = new TextAreaIcon( HTMLTextHelper.convertHtmlToText(item.getDescription()), new JLabel().getFont(), width, 2); JLabel iconLabel = new JLabel(""); iconLabel.setIcon(icon); pb.add(iconLabel, cc.xyw(2, 4, 3)); JLabel label3 = new JLabel(); if (item.isAlreadyInstalled()) { Version installedVersion = item.getInstalledVersion(); if ((installedVersion != null) && (installedVersion.compareTo(item.getVersion()) < 0)) { label.setIcon(NEW_VERSION_ICON); label3.setText("(" + mLocalizer.msg("installed", "Installed version: ") + installedVersion.toString() + ")"); label3.setFont(label3.getFont().deriveFont(label3.getFont().getSize2D() + 2)); pb.add(label3, cc.xy(4, 2)); } } if (isSelected && isEnabled) { label.setForeground(list.getSelectionForeground()); String author = item.getProperty("author"); String website = item.getWebsite(); FormLayout authorAndWebsiteLayout = new FormLayout("default,5dlu,default", "default"); JPanel authorAndWebsite = new JPanel(authorAndWebsiteLayout); authorAndWebsite.setOpaque(false); if (author != null) { lay.appendRow(RowSpec.decode("2dlu")); lay.appendRow(RowSpec.decode("default")); lay.appendRow(RowSpec.decode("2dlu")); pb.add(authorAndWebsite, cc.xyw(2, 7, 3)); JLabel authorLabel = new JLabel(mLocalizer.msg("author", "Author")); authorLabel.setFont(authorLabel.getFont().deriveFont(Font.BOLD)); authorLabel.setForeground(list.getSelectionForeground()); authorLabel.setHorizontalAlignment(SwingConstants.RIGHT); JLabel authorName = new JLabel(HTMLTextHelper.convertHtmlToText(author)); authorName.setForeground(list.getSelectionForeground()); authorAndWebsite.add(authorLabel, cc.xy(1, 1)); authorAndWebsite.add(authorName, cc.xy(3, 1)); } if (website != null) { if (author == null) { lay.appendRow(RowSpec.decode("2dlu")); lay.appendRow(RowSpec.decode("default")); lay.appendRow(RowSpec.decode("2dlu")); pb.add(authorAndWebsite, cc.xyw(2, 7, 3)); } else { authorAndWebsiteLayout.appendRow(RowSpec.decode("1dlu")); authorAndWebsiteLayout.appendRow(RowSpec.decode("default")); } JLabel webLabel = new JLabel(mLocalizer.msg("website", "Website")); webLabel.setFont(webLabel.getFont().deriveFont(Font.BOLD)); webLabel.setForeground(list.getSelectionForeground()); webLabel.setHorizontalAlignment(SwingConstants.RIGHT); LinkButton webLink = new LinkButton(HTMLTextHelper.convertHtmlToText(website)); webLink.setForeground(list.getSelectionForeground()); authorAndWebsite.add(webLabel, cc.xy(1, author == null ? 1 : 3)); authorAndWebsite.add(webLink, cc.xy(3, author == null ? 1 : 3)); } icon.setMaximumLineCount(-1); iconLabel.setForeground(list.getSelectionForeground()); label3.setForeground(list.getSelectionForeground()); } else { if (!item.isStable()) { label.setForeground(new Color(200, 0, 0)); } else { label.setForeground(list.getForeground()); } icon.setMaximumLineCount(1); iconLabel.setForeground(list.getSelectionForeground()); iconLabel.setForeground(list.getForeground()); label3.setForeground(Color.gray); } return pb.getPanel(); } public void calculateSize(JList list, int index, JPanel contPane) { if (list.getUI() instanceof MyListUI) { ((MyListUI) list.getUI()).setCellHeight(index, contPane.getPreferredSize().height); } } }); mSoftwareUpdateItemList.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { if (SwingUtilities.isRightMouseButton(e) && e.isPopupTrigger()) { showPopupMenu(e); } } @Override public void mouseReleased(MouseEvent e) { if (SwingUtilities.isRightMouseButton(e) && e.isPopupTrigger()) { showPopupMenu(e); } } }); if (!onlyUpdate) { layout.appendRow(RowSpec.decode("5dlu")); layout.appendRow(RowSpec.decode("default")); JLabel filterLabel = new JLabel( mLocalizer.msg("filterLabel", "Show only Plugins with the following category:")); northPn.add(filterLabel, cc.xy(1, 3)); ArrayList<FilterItem> filterList = new ArrayList<FilterItem>(0); for (SoftwareUpdateItem item : itemArr) { int index = 0; for (int i = 0; i < filterList.size(); i++) { int compareValue = filterList.get(i).compareTo(item.getCategory()); if (compareValue == 0) { index = -1; break; } else if (compareValue < 0) { index = i + 1; } } if (index != -1) { filterList.add(index, new FilterItem(item.getCategory())); } } filterList.add(0, new FilterItem("all")); JComboBox filterBox = new JComboBox(filterList.toArray()); mSoftwareUpdateItemList.setFilterComboBox(filterBox); northPn.add(filterBox, cc.xy(3, 3)); } contentPane.add(northPn, BorderLayout.NORTH); contentPane.add(mSoftwareUpdateItemList, BorderLayout.CENTER); contentPane.add(southPn, BorderLayout.SOUTH); Settings.layoutWindow("softwareUpdateDlg", this, new Dimension(700, 600)); setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { if (!mIsVersionChange || mSoftwareUpdateItemList.getSelection().length == 0) { close(); } } }); UiUtilities.registerForClosing(this); }
From source file:twitterplugin.TwitterDialog.java
License:Open Source License
private void createGui(final Program program, final String format) { final JPanel panel = (JPanel) getContentPane(); panel.setBorder(Borders.DLU4_BORDER); final FormLayout layout = new FormLayout("3dlu, fill:min:grow, 3dlu"); panel.setLayout(layout);// w w w .j a va 2s .c o m int currentRow = 1; layout.appendRow(RowSpec.decode("pref")); layout.appendRow(RowSpec.decode("5dlu")); final CellConstraints cc = new CellConstraints(); panel.add( DefaultComponentFactory.getInstance().createSeparator(mLocalizer.msg("message", "Twitter Message")), cc.xyw(1, currentRow, 3)); layout.appendRow(RowSpec.decode("fill:pref:grow")); layout.appendRow(RowSpec.decode("5dlu")); mMessage = new JTextArea(); mMessage.setLineWrap(true); mMessage.setWrapStyleWord(true); panel.add(new JScrollPane(mMessage), cc.xy(2, currentRow += 2)); layout.appendRow(RowSpec.decode("pref")); layout.appendRow(RowSpec.decode("5dlu")); final JLabel warningCounter = new JLabel(""); panel.add(warningCounter, cc.xy(2, currentRow += 2)); final ButtonBarBuilder buttonBar = new ButtonBarBuilder(); buttonBar.addGlue(); final JButton ok = new JButton(Localizer.getLocalization(Localizer.I18N_OK)); ok.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { okPressed(); } }); final JButton cancel = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL)); cancel.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { close(); } }); buttonBar.addGriddedButtons(new JButton[] { ok, cancel }); layout.appendRow(RowSpec.decode("pref")); layout.appendRow(RowSpec.decode("5dlu")); panel.add(buttonBar.getPanel(), cc.xyw(1, currentRow += 2, 3)); setSize(Sizes.dialogUnitXAsPixel(200, this), Sizes.dialogUnitYAsPixel(200, this)); UiUtilities.registerForClosing(this); getRootPane().setDefaultButton(cancel); mMessage.getDocument().addDocumentListener(new DocumentListener() { public void insertUpdate(final DocumentEvent e) { updateWarning(); } public void removeUpdate(final DocumentEvent e) { updateWarning(); } public void changedUpdate(final DocumentEvent e) { updateWarning(); } private void updateWarning() { final int num = TWEET_MAX_CHARS - mMessage.getText().trim().length(); warningCounter.setText(mLocalizer.msg("counter", "{0} chars left", num)); if (num < 0) { warningCounter.setForeground(Color.RED); } else { warningCounter.setForeground(new JLabel().getForeground()); } ok.setEnabled(num >= 0 && num != TWEET_MAX_CHARS); } }); mMessage.setText(new ParamParser().analyse(format, program)); }
From source file:twitterplugin.TwitterLoginDialog.java
License:Open Source License
/** * Create Gui//from w w w . j ava2 s. co m */ private void createGui() { setTitle(mLocalizer.msg("login", "Login")); UiUtilities.registerForClosing(this); PanelBuilder content = new PanelBuilder( new FormLayout("5dlu, pref:grow(0.5), 3dlu, 100dlu, fill:pref:grow(0.5), 5dlu")); CellConstraints cc = new CellConstraints(); final Twitter twitter = new TwitterFactory().getInstance(); twitter.setOAuthConsumer(mSettings.getConsumerKey(), mSettings.getConsumerSecret()); try { mRequestToken = twitter.getOAuthRequestToken(); mAuthorizationUrl = mRequestToken.getAuthorizationURL(); } catch (TwitterException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } content.appendRow("3dlu"); content.appendRow("pref"); mLabelBrowser = new JLabel("1. " + mLocalizer.msg("step1", "Open authentication page on Twitter")); content.add(mLabelBrowser, cc.xy(2, content.getRowCount())); mUrlButton = new JButton(mLocalizer.msg("openBrowser", "Open browser")); mUrlButton.setToolTipText(mAuthorizationUrl); content.add(mUrlButton, cc.xy(4, content.getRowCount())); mUrlButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Launch.openURL(mAuthorizationUrl); } }); content.appendRow("3dlu"); content.appendRow("pref"); mLabelPin = new JLabel("2. " + mLocalizer.msg("step2", "Enter PIN from web page")); content.add(mLabelPin, cc.xy(2, content.getRowCount())); mPIN = new JTextField(); content.add(mPIN, cc.xy(4, content.getRowCount())); ButtonBarBuilder builder = new ButtonBarBuilder(); builder.addGlue(); JButton ok = new JButton(Localizer.getLocalization(Localizer.I18N_OK)); ok.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { mReturnValue = JOptionPane.OK_OPTION; AccessToken accessToken = null; try { String pin = mPIN.getText().trim(); if (pin.length() > 0) { accessToken = twitter.getOAuthAccessToken(mRequestToken, pin); } else { accessToken = twitter.getOAuthAccessToken(); } } catch (TwitterException te) { if (401 == te.getStatusCode()) { System.out.println("Unable to get the access token."); } else { te.printStackTrace(); } } try { twitter.verifyCredentials().getId(); mSettings.setAccessToken(accessToken); } catch (TwitterException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } setVisible(false); } }); getRootPane().setDefaultButton(ok); JButton cancel = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL)); cancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { close(); } }); builder.addGriddedButtons(new JButton[] { ok, cancel }); content.appendRow("fill:pref:grow"); content.appendRow("pref"); content.add(builder.getPanel(), cc.xyw(1, content.getRowCount(), 4)); content.appendRow("5dlu"); content.setBorder(Borders.DIALOG_BORDER); getContentPane().add(content.getPanel()); UiUtilities.setSize(this, Sizes.dialogUnitXAsPixel(200, this), Sizes.dialogUnitYAsPixel(140, this)); }