/** Creates the error area component. */ private void initErrorArea() { SimpleAttributeSet attribs = new SimpleAttributeSet(); StyleConstants.setAlignment(attribs, StyleConstants.ALIGN_RIGHT); StyleConstants.setFontFamily(attribs, errorPane.getFont().getFamily()); StyleConstants.setForeground(attribs, Color.RED); errorPane.setParagraphAttributes(attribs, true); errorPane.setPreferredSize(new Dimension(100, 50)); errorPane.setMinimumSize(new Dimension(100, 50)); errorPane.setOpaque(false); }
/** Creates the text area. */ private void initTextArea() { textArea.setOpaque(false); textArea.setEditable(false); StyledDocument doc = textArea.getStyledDocument(); MutableAttributeSet standard = new SimpleAttributeSet(); StyleConstants.setAlignment(standard, StyleConstants.ALIGN_CENTER); StyleConstants.setFontFamily(standard, textArea.getFont().getFamily()); StyleConstants.setFontSize(standard, 12); doc.setParagraphAttributes(0, 0, standard, true); parentWindow.addSearchFieldListener(this); }
/** * Sets the reason of a call failure if one occurs. The renderer should display this reason to the * user. * * @param reason the reason to display */ public void setErrorReason(final String reason) { if (!SwingUtilities.isEventDispatchThread()) { SwingUtilities.invokeLater( new Runnable() { public void run() { setErrorReason(reason); } }); return; } if (errorMessageComponent == null) { errorMessageComponent = new JTextPane(); JTextPane textPane = (JTextPane) errorMessageComponent; textPane.setEditable(false); textPane.setOpaque(false); StyledDocument doc = textPane.getStyledDocument(); MutableAttributeSet standard = new SimpleAttributeSet(); StyleConstants.setAlignment(standard, StyleConstants.ALIGN_CENTER); StyleConstants.setFontFamily(standard, textPane.getFont().getFamily()); StyleConstants.setFontSize(standard, 12); doc.setParagraphAttributes(0, 0, standard, true); GridBagConstraints constraints = new GridBagConstraints(); constraints.fill = GridBagConstraints.HORIZONTAL; constraints.gridx = 0; constraints.gridy = 4; constraints.weightx = 1; constraints.weighty = 0; constraints.insets = new Insets(5, 0, 0, 0); add(errorMessageComponent, constraints); this.revalidate(); } errorMessageComponent.setText(reason); if (isVisible()) errorMessageComponent.repaint(); }
public static void main(String[] args) { JFrame fenster = new JFrame("test"); JButton button = new JButton("Rot"); JTextPane jtp = new JTextPane(); jtp.setOpaque(true); button.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if (jtp.getBackground() == Color.RED) jtp.setBackground(null); else jtp.setBackground(Color.RED); } }); fenster.add(button, BorderLayout.NORTH); fenster.add(jtp, BorderLayout.CENTER); fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); fenster.setSize(300, 300); fenster.setVisible(true); }
/** * Creates an instance of <tt>ShowPreviewDialog</tt> * * @param chatPanel The <tt>ChatConversationPanel</tt> that is associated with this dialog. */ ShowPreviewDialog(final ChatConversationPanel chatPanel) { this.chatPanel = chatPanel; this.setTitle( GuiActivator.getResources().getI18NString("service.gui.SHOW_PREVIEW_DIALOG_TITLE")); okButton = new JButton(GuiActivator.getResources().getI18NString("service.gui.OK")); cancelButton = new JButton(GuiActivator.getResources().getI18NString("service.gui.CANCEL")); JPanel mainPanel = new TransparentPanel(); mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS)); mainPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); // mainPanel.setPreferredSize(new Dimension(200, 150)); this.getContentPane().add(mainPanel); JTextPane descriptionMsg = new JTextPane(); descriptionMsg.setEditable(false); descriptionMsg.setOpaque(false); descriptionMsg.setText( GuiActivator.getResources().getI18NString("service.gui.SHOW_PREVIEW_WARNING_DESCRIPTION")); Icon warningIcon = null; try { warningIcon = new ImageIcon( ImageIO.read( GuiActivator.getResources().getImageURL("service.gui.icons.WARNING_ICON"))); } catch (IOException e) { logger.debug("failed to load the warning icon"); } JLabel warningSign = new JLabel(warningIcon); JPanel warningPanel = new TransparentPanel(); warningPanel.setLayout(new BoxLayout(warningPanel, BoxLayout.X_AXIS)); warningPanel.add(warningSign); warningPanel.add(Box.createHorizontalStrut(10)); warningPanel.add(descriptionMsg); enableReplacement = new JCheckBox( GuiActivator.getResources() .getI18NString("plugin.chatconfig.replacement.ENABLE_REPLACEMENT_STATUS")); enableReplacement.setOpaque(false); enableReplacement.setSelected(cfg.getBoolean(ReplacementProperty.REPLACEMENT_ENABLE, true)); enableReplacementProposal = new JCheckBox( GuiActivator.getResources() .getI18NString("plugin.chatconfig.replacement.ENABLE_REPLACEMENT_PROPOSAL")); enableReplacementProposal.setOpaque(false); JPanel checkBoxPanel = new TransparentPanel(); checkBoxPanel.setLayout(new BoxLayout(checkBoxPanel, BoxLayout.Y_AXIS)); checkBoxPanel.add(enableReplacement); checkBoxPanel.add(enableReplacementProposal); JPanel buttonsPanel = new TransparentPanel(new FlowLayout(FlowLayout.CENTER)); buttonsPanel.add(okButton); buttonsPanel.add(cancelButton); mainPanel.add(warningPanel); mainPanel.add(Box.createVerticalStrut(10)); mainPanel.add(checkBoxPanel); mainPanel.add(buttonsPanel); okButton.addActionListener(this); cancelButton.addActionListener(this); this.setPreferredSize(new Dimension(390, 230)); }
/** * Instantiates a new movie information panel. * * @param movieSelectionModel the movie selection model */ public MovieInformationPanel(MovieSelectionModel movieSelectionModel) { this.movieSelectionModel = movieSelectionModel; setLayout( new FormLayout( new ColumnSpec[] { ColumnSpec.decode("450px:grow"), }, new RowSpec[] { RowSpec.decode("fill:default:grow"), })); splitPaneVertical = new JSplitPane(); splitPaneVertical.setBorder(null); splitPaneVertical.setResizeWeight(0.9); splitPaneVertical.setContinuousLayout(true); splitPaneVertical.setOneTouchExpandable(true); splitPaneVertical.setOrientation(JSplitPane.VERTICAL_SPLIT); add(splitPaneVertical, "1, 1, fill, fill"); panelTop = new JPanel(); panelTop.setBorder(null); splitPaneVertical.setTopComponent(panelTop); panelTop.setLayout( new FormLayout( new ColumnSpec[] { FormFactory.RELATED_GAP_COLSPEC, ColumnSpec.decode("200px:grow"), FormFactory.RELATED_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC, }, new RowSpec[] { RowSpec.decode("fill:default"), RowSpec.decode("top:pref:grow"), })); JPanel panelMovieHeader = new JPanel(); panelTop.add(panelMovieHeader, "2, 1, 3, 1, fill, top"); panelMovieHeader.setBorder(null); panelMovieHeader.setLayout(new BorderLayout(0, 0)); JPanel panelMovieTitle = new JPanel(); panelMovieHeader.add(panelMovieTitle, BorderLayout.NORTH); panelMovieTitle.setLayout(new BorderLayout(0, 0)); lblMovieName = new JLabel(""); TmmFontHelper.changeFont(lblMovieName, 1.33, Font.BOLD); panelMovieTitle.add(lblMovieName); JPanel panelRatingTagline = new JPanel(); panelMovieHeader.add(panelRatingTagline, BorderLayout.CENTER); panelRatingTagline.setLayout( new FormLayout( new ColumnSpec[] { FormFactory.DEFAULT_COLSPEC, FormFactory.DEFAULT_COLSPEC, FormFactory.DEFAULT_COLSPEC, FormFactory.UNRELATED_GAP_COLSPEC, ColumnSpec.decode("25px:grow"), }, new RowSpec[] { FormFactory.LINE_GAP_ROWSPEC, RowSpec.decode("24px"), FormFactory.DEFAULT_ROWSPEC, })); lblRating = new JLabel(""); panelRatingTagline.add(lblRating, "2, 2, left, center"); lblVoteCount = new JLabel(""); panelRatingTagline.add(lblVoteCount, "3, 2, left, center"); panelRatingStars = new StarRater(10, 1); panelRatingTagline.add(panelRatingStars, "1, 2, left, top"); panelRatingStars.setEnabled(false); lblTop250 = new JLabel(""); panelRatingTagline.add(lblTop250, "5, 2, left, default"); lblTagline = new JLabel(); panelRatingTagline.add(lblTagline, "1, 3, 5, 1, default, center"); panelMovieLogos = new JPanel(); panelMovieHeader.add(panelMovieLogos, BorderLayout.EAST); lblCertificationImage = new JLabel(); panelMovieLogos.add(lblCertificationImage); JLayeredPane layeredPaneImages = new JLayeredPane(); panelTop.add(layeredPaneImages, "1, 2, 4, 1, fill, fill"); layeredPaneImages.setLayout( new FormLayout( new ColumnSpec[] { ColumnSpec.decode("max(10px;default)"), ColumnSpec.decode("left:120px:grow"), ColumnSpec.decode("default:grow(10)"), }, new RowSpec[] { RowSpec.decode("max(10px;default)"), RowSpec.decode("top:180px:grow"), RowSpec.decode("fill:80px:grow(3)"), })); lblMovieBackground = new ImageLabel(false, true); lblMovieBackground.setAlternativeText(BUNDLE.getString("image.notfound.fanart")); // $NON-NLS-1$ lblMovieBackground.enableLightbox(); layeredPaneImages.add(lblMovieBackground, "1, 1, 3, 3, fill, fill"); lblMoviePoster = new ImageLabel(); lblMoviePoster.setAlternativeText(BUNDLE.getString("image.notfound.poster")); // $NON-NLS-1$ lblMoviePoster.enableLightbox(); layeredPaneImages.setLayer(lblMoviePoster, 1); layeredPaneImages.add(lblMoviePoster, "2, 2, fill, fill"); lblWatchedImage = new JLabel(); lblWatchedImage.setOpaque(false); layeredPaneImages.setLayer(lblWatchedImage, 2); layeredPaneImages.add(lblWatchedImage, "2, 2, left, top"); JPanel panelGenres = new MovieGenresPanel(movieSelectionModel); layeredPaneImages.setLayer(panelGenres, 2); layeredPaneImages.add(panelGenres, "2, 2, 2, 2, right, bottom"); JPanel panelLogos = new JPanel(); panelLogos.setOpaque(false); layeredPaneImages.setLayer(panelLogos, 2); layeredPaneImages.add(panelLogos, "2, 2, 2, 2, right, top"); panelLogos.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5)); lblMediaLogoResolution = new JLabel(""); panelLogos.add(lblMediaLogoResolution); lblMediaLogoVideoCodec = new JLabel(""); panelLogos.add(lblMediaLogoVideoCodec); lblMediaLogoAudio = new JLabel(""); panelLogos.add(lblMediaLogoAudio); JPanel panelBottom = new JPanel(); panelBottom.setLayout( new FormLayout( new ColumnSpec[] { ColumnSpec.decode("300px:grow"), }, new RowSpec[] { FormFactory.LINE_GAP_ROWSPEC, RowSpec.decode("fill:min:grow"), })); tabbedPaneMovieDetails = new JTabbedPane(JTabbedPane.TOP); panelBottom.add(tabbedPaneMovieDetails, "1, 2, fill, fill"); splitPaneVertical.setBottomComponent(panelBottom); panelDetails = new MovieDetailsPanel(movieSelectionModel); tabbedPaneMovieDetails.addTab( BUNDLE.getString("metatag.details"), null, panelDetails, null); // $NON-NLS-1$ panelOverview = new JPanel(); tabbedPaneMovieDetails.addTab( BUNDLE.getString("metatag.plot"), null, panelOverview, null); // $NON-NLS-1$ panelOverview.setLayout( new FormLayout( new ColumnSpec[] { ColumnSpec.decode("200px:grow"), }, new RowSpec[] { FormFactory.LINE_GAP_ROWSPEC, RowSpec.decode("fill:default:grow"), })); // panelMovieDetails.add(tabbedPaneMovieDetails, "2, 3, fill, fill"); JScrollPane scrollPaneOverview = new JScrollPane(); scrollPaneOverview.setBorder(null); panelOverview.add(scrollPaneOverview, "1, 2, fill, fill"); tpOverview = new JTextPane(); tpOverview.setOpaque(false); tpOverview.setEditable(false); scrollPaneOverview.setViewportView(tpOverview); panelMovieCrew = new MovieCrewPanel(movieSelectionModel); tabbedPaneMovieDetails.addTab( BUNDLE.getString("metatag.crew"), null, panelMovieCrew, null); // $NON-NLS-1$ MovieActorPanel panelMovieActors = new MovieActorPanel(movieSelectionModel); tabbedPaneMovieDetails.addTab( BUNDLE.getString("metatag.cast"), null, panelMovieActors, null); // $NON-NLS-1$ panelMediaInformation = new MovieMediaInformationPanel(movieSelectionModel); tabbedPaneMovieDetails.addTab( BUNDLE.getString("metatag.mediainformation"), null, panelMediaInformation, null); //$NON-NLS-1$ panelMediaFiles = new MovieMediaFilesPanel(movieSelectionModel); tabbedPaneMovieDetails.addTab( BUNDLE.getString("metatag.mediafiles"), null, panelMediaFiles, null); // $NON-NLS-1$ final List<MediaFile> mediaFiles = new ArrayList<MediaFile>(); final ImagePanel panelArtwork = new ImagePanel(mediaFiles); tabbedPaneMovieDetails.addTab( BUNDLE.getString("metatag.artwork"), null, panelArtwork, null); // $NON-NLS-1$ panelMovieTrailer = new MovieTrailerPanel(movieSelectionModel); tabbedPaneMovieDetails.addTab( BUNDLE.getString("metatag.trailer"), null, panelMovieTrailer, null); // $NON-NLS-1$ // beansbinding init initDataBindings(); // manual coded binding PropertyChangeListener propertyChangeListener = new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent propertyChangeEvent) { String property = propertyChangeEvent.getPropertyName(); Object source = propertyChangeEvent.getSource(); // react on selection of a movie and change of a movie if (source instanceof MovieSelectionModel || (source instanceof Movie && MEDIA_FILES.equals(property))) { Movie movie = null; if (source instanceof MovieSelectionModel) { movie = ((MovieSelectionModel) source).getSelectedMovie(); } if (source instanceof Movie) { movie = (Movie) source; } if (movie != null) { if (movie.getTop250() > 0) { lblTop250.setText("Top 250: #" + movie.getTop250()); } else { lblTop250.setText(""); } lblMovieBackground.setImagePath(movie.getArtworkFilename(MediaFileType.FANART)); lblMoviePoster.setImagePath(movie.getArtworkFilename(MediaFileType.POSTER)); synchronized (mediaFiles) { mediaFiles.clear(); for (MediaFile mediafile : movie.getMediaFiles()) { if (mediafile.isGraphic()) { mediaFiles.add(mediafile); } } panelArtwork.rebuildPanel(); } } } if ((source.getClass() == Movie.class && FANART.equals(property))) { Movie movie = (Movie) source; lblMovieBackground.clearImage(); lblMovieBackground.setImagePath(movie.getArtworkFilename(MediaFileType.FANART)); } if ((source.getClass() == Movie.class && POSTER.equals(property))) { Movie movie = (Movie) source; lblMoviePoster.clearImage(); lblMoviePoster.setImagePath(movie.getArtworkFilename(MediaFileType.POSTER)); } if ((source.getClass() == Movie.class && TOP250.equals(property))) { Movie movie = (Movie) source; if (movie.getTop250() > 0) { lblTop250.setText( BUNDLE.getString("metatag.top250") + ": #" + movie.getTop250()); // $NON-NLS-1$ } else { lblTop250.setText(""); } } } }; movieSelectionModel.addPropertyChangeListener(propertyChangeListener); }
About() { window = new JWindow(); this.setPreferredSize(new Dimension(650, 550)); this.setVisible(true); this.setLayout(null); JTextPane text = new JTextPane(); text.setBounds(5, 150, 625, 525); text.setVisible(true); text.setEditable(false); text.setOpaque(false); HTMLEditorKit htmlKit = new HTMLEditorKit() { public Parser getParser() { return super.getParser(); } }; HTMLDocument htmlDoc = new HTMLDocument(); text.addHyperlinkListener( new HyperlinkListener() { public void hyperlinkUpdate(HyperlinkEvent e) { if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { if (Desktop.isDesktopSupported()) { try { Desktop.getDesktop().browse(e.getURL().toURI()); return; } catch (IOException e1) { } catch (URISyntaxException e1) { } } try { Runtime.getRuntime().exec("xdg-open ".concat(e.getURL().toString())); } catch (IOException ioex) { ControlRoom.log( Level.WARNING, "Failed to show file: '" + e.getURL().toString() + "'. Possible unsupported File Manager...", null); } } } }); text.setEditorKit(htmlKit); text.setDocument(htmlDoc); try { BufferedReader reader = new BufferedReader( new InputStreamReader( this.getClass().getResourceAsStream("/resources/about.html"), "UTF-8")); htmlKit.read(reader, htmlDoc, htmlDoc.getLength()); } catch (IOException ioex) { ControlRoom.log(Level.SEVERE, "Failed to read about.html", ioex); } catch (BadLocationException e) { e .printStackTrace(); // To change body of catch statement use File | Settings | File // Templates. } text.addMouseListener(this); window.getContentPane().add(text); window.getContentPane().add(this); window.addMouseListener(this); window.pack(); ControlRoom.setWindowRelativeToCentral(window); window.setVisible(true); window.setAlwaysOnTop(true); }