List of usage examples for javax.swing.border TitledBorder TitledBorder
@ConstructorProperties({ "border", "title", "titleJustification", "titlePosition", "titleFont", "titleColor" }) public TitledBorder(Border border, String title, int titleJustification, int titlePosition, Font titleFont, Color titleColor)
From source file:org.tinymediamanager.ui.tvshows.settings.TvShowSubtitleSettingsPanel.java
private void initComponents() { // data init//from ww w . j a v a 2 s. co m List<String> enabledSubtitleProviders = settings.getTvShowSubtitleScrapers(); int selectedIndex = -1; int counter = 0; for (MediaScraper scraper : TvShowList.getInstance().getAvailableSubtitleScrapers()) { SubtitleScraper subtitleScraper = new SubtitleScraper(scraper); if (enabledSubtitleProviders.contains(subtitleScraper.getScraperId())) { subtitleScraper.active = true; if (selectedIndex < 0) { selectedIndex = counter; } } scrapers.add(subtitleScraper); counter++; } // UI init setLayout(new FormLayout( new ColumnSpec[] { FormSpecs.RELATED_GAP_COLSPEC, FormSpecs.DEFAULT_COLSPEC, FormSpecs.RELATED_GAP_COLSPEC, FormSpecs.DEFAULT_COLSPEC, FormSpecs.RELATED_GAP_COLSPEC, ColumnSpec.decode("default:grow"), FormSpecs.RELATED_GAP_COLSPEC, }, new RowSpec[] { FormSpecs.RELATED_GAP_ROWSPEC, RowSpec.decode("default:grow"), FormSpecs.RELATED_GAP_ROWSPEC, FormSpecs.DEFAULT_ROWSPEC, FormSpecs.RELATED_GAP_ROWSPEC, })); JPanel panelSubtitleScrapers = new JPanel(); panelSubtitleScrapers.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), BUNDLE.getString("scraper.subtitle"), TitledBorder.LEADING, TitledBorder.TOP, null, null)); // $NON-NLS-1$ add(panelSubtitleScrapers, "2, 2, 5, 1, fill, fill"); panelSubtitleScrapers.setLayout(new FormLayout( new ColumnSpec[] { FormSpecs.RELATED_GAP_COLSPEC, ColumnSpec.decode("100dlu:grow"), FormSpecs.RELATED_GAP_COLSPEC, ColumnSpec.decode("200dlu:grow"), FormSpecs.RELATED_GAP_COLSPEC, }, new RowSpec[] { FormSpecs.RELATED_GAP_ROWSPEC, RowSpec.decode("100dlu:grow"), })); final JScrollPane scrollPaneScraperDetails = new JScrollPane(); scrollPaneScraperDetails.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); scrollPaneScraperDetails.setBorder(null); panelSubtitleScrapers.add(scrollPaneScraperDetails, "4, 1, 1, 2, fill, fill"); JPanel panelScraperDetails = new JPanel(); scrollPaneScraperDetails.setViewportView(panelScraperDetails); panelScraperDetails.setLayout(new FormLayout(new ColumnSpec[] { ColumnSpec.decode("default:grow"), }, new RowSpec[] { RowSpec.decode("default:grow"), FormSpecs.RELATED_GAP_ROWSPEC, FormSpecs.DEFAULT_ROWSPEC, })); { // add a CSS rule to force body tags to use the default label font // instead of the value in javax.swing.text.html.default.csss Font font = UIManager.getFont("Label.font"); String bodyRule = "body { font-family: " + font.getFamily() + "; " + "font-size: " + font.getSize() + "pt; }"; tpScraperDescription = new JTextPane(); tpScraperDescription.setOpaque(false); tpScraperDescription.setEditorKit(new HTMLEditorKit()); ((HTMLDocument) tpScraperDescription.getDocument()).getStyleSheet().addRule(bodyRule); panelScraperDetails.add(tpScraperDescription, "1, 1, fill, top"); } panelScraperOptions = new ScrollablePanel(); panelScraperOptions.setLayout(new FlowLayout(FlowLayout.LEFT)); panelScraperDetails.add(panelScraperOptions, "1, 3, fill, top"); JScrollPane scrollPaneScraper = new JScrollPane(); panelSubtitleScrapers.add(scrollPaneScraper, "2, 2, fill, fill"); tableScraper = new JTable(); tableScraper.setRowHeight(29); scrollPaneScraper.setViewportView(tableScraper); final JLabel lblScraperLanguage = new JLabel(BUNDLE.getString("Settings.preferredLanguage")); //$NON-NLS-1$ add(lblScraperLanguage, "2, 4, right, default"); cbScraperLanguage = new JComboBox(MediaLanguages.values()); add(cbScraperLanguage, "4, 4, fill, default"); initDataBindings(); // adjust table columns // Checkbox and Logo shall have minimal width TableColumnResizer.setMaxWidthForColumn(tableScraper, 0, 2); TableColumnResizer.setMaxWidthForColumn(tableScraper, 1, 2); TableColumnResizer.adjustColumnPreferredWidths(tableScraper, 5); tableScraper.getModel().addTableModelListener(new TableModelListener() { @Override public void tableChanged(TableModelEvent arg0) { // click on the checkbox if (arg0.getColumn() == 0) { int row = arg0.getFirstRow(); SubtitleScraper changedScraper = scrapers.get(row); if (changedScraper.active) { settings.addTvShowSubtitleScraper(changedScraper.getScraperId()); } else { settings.removeTvShowSubtitleScraper(changedScraper.getScraperId()); } } } }); // implement selection listener to load settings tableScraper.getSelectionModel().addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { int index = tableScraper.convertRowIndexToModel(tableScraper.getSelectedRow()); if (index > -1) { panelScraperOptions.removeAll(); if (scrapers.get(index).getMediaProvider().getProviderInfo().getConfig().hasConfig()) { panelScraperOptions .add(new MediaScraperConfigurationPanel(scrapers.get(index).getMediaProvider())); } panelScraperOptions.revalidate(); } } }); // select default tv show subtitle scraper if (selectedIndex < 0) { selectedIndex = 0; } if (counter > 0) { tableScraper.getSelectionModel().setSelectionInterval(selectedIndex, selectedIndex); } }
From source file:projectresurrection.Weather.java
private void updateLbl() { if (mode == BRAIN) { } else if (mode == HOME) { ((JLabel) ((JPanel) ((JPanel) ((JViewport) ((JScrollPane) tab.getComponent(0)).getComponent(0)) .getComponent(0)).getComponent(1)).getComponent(0)).setIcon(getImage(currentWeather.get(2))); ((JLabel) ((JPanel) ((JPanel) ((JViewport) ((JScrollPane) tab.getComponent(0)).getComponent(0)) .getComponent(0)).getComponent(1)).getComponent(0)) .setText(//ww w . jav a2 s . c om "<html>Temp: " + currentWeather.get(1) + "F/" + currentWeather.get(0) + "C<br />Wind: " + ((currentWeather.get(3).equals("0")) ? "None" : currentWeather.get(3) + "mph/" + currentWeather.get(4) + "Kmph " + currentWeather.get(5)) + "<br />" + currentWeather.get(2)); } else if (mode == TAB) { int dayNum; String day; for (int i = 0; i < 5; i++) { dayNum = (Eve.clock.getCurrent().getDayOfWeek() + i) % 7; switch (dayNum) { case 0: day = "Sunday"; break; case 1: day = "Monday"; break; case 2: day = "Tuesday"; break; case 3: day = "Wednesday"; break; case 4: day = "Thursday"; break; case 5: day = "Friday"; break; case 6: day = "Saturday"; break; default: day = "Weather"; break; } if (dayNum == (Eve.clock.getCurrent().getDayOfWeek() % 7)) { day = "Today"; } else if (dayNum == (Eve.clock.getCurrent().getDayOfWeek() + 1) % 7) { day = "Tomorrow"; } ((JPanel) ((JPanel) ((JViewport) ((JScrollPane) tab.getComponent(0)).getComponent(0)) .getComponent(0)).getComponent(i)).setBorder( new TitledBorder(null, day, TitledBorder.LEADING, TitledBorder.TOP, null, null)); ((JLabel) ((JPanel) ((JPanel) ((JViewport) ((JScrollPane) tab.getComponent(0)).getComponent(0)) .getComponent(0)).getComponent(i)).getComponent(0)) .setIcon(getImage((String) forecast.get(i).get(4))); ((JLabel) ((JPanel) ((JPanel) ((JViewport) ((JScrollPane) tab.getComponent(0)).getComponent(0)) .getComponent(0)).getComponent(i)).getComponent(0)) .setText("<html>High: " + forecast.get(i).get(1) + "\u00B0F/" + forecast.get(i).get(0) + "\u00B0C<br />Low: " + forecast.get(i).get(3) + "\u00B0F/" + forecast.get(i).get(2) + "\u00B0C<br />Wind: " + forecast.get(i).get(6) + "mph/" + forecast.get(i).get(7) + "Kmph " + forecast.get(i).get(8) + "<br />Rain: " + forecast.get(i).get(5) + "%<br />" + forecast.get(i).get(4)); tab.revalidate(); } } }