SimpleHeader.java :  » Media » tramper » org » tramper » gui » viewer » Java Open Source

Java Open Source » Media » tramper 
tramper » org » tramper » gui » viewer » SimpleHeader.java
package org.tramper.gui.viewer;

import java.awt.Color;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.text.DateFormat;
import java.util.Date;
import java.util.ResourceBundle;

import javax.swing.Icon;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;

import org.tramper.doc.SimpleDocument;
import org.tramper.doc.Target;
import org.tramper.gui.IconFactory;

/**
 * display a simple document's header
 * @author Paul-Emile
 */
public class SimpleHeader extends JPanel {
    /** SimpleHeader.java long */
    private static final long serialVersionUID = -7805604139034099010L;
    /** title label */
    protected JLabel titleLabel;
    /** title */
    protected JLabel documentTitle;
    /** document's icon */
    protected JLabel iconLabel;
    /** description label */
    protected JLabel descLabel;
    /** document's description */
    protected JTextArea documentDescription;
    /** mime type label */
    private JLabel mimeTypeLabel;
    /** mime type */
    private JLabel documentMimeType;
    /** author label */
    private JLabel authorLabel;
    /** author */
    private JLabel documentAuthor;
    /** copyright label */
    private JLabel copyrightLabel;
    /** copyright */
    private JTextArea documentCopyright;
    /** creation date label */
    private JLabel creationDateLabel;
    /** creation date */
    private JLabel documentCreationDate;
    /** viewed document */
    protected SimpleDocument document;
    /** color of the labels */
    protected Color labelColor = Color.GRAY;
    /** buttons margin */
    protected Insets marginButton;
    
    /**
     * 
     */
    public SimpleHeader() {
        ResourceBundle label = ResourceBundle.getBundle("label");
        
        marginButton = new Insets(0, 0, 0, 0);
        
        GridBagLayout layout = new GridBagLayout();
        GridBagConstraints constraints = new GridBagConstraints();
        constraints.insets = new Insets(3, 3, 3, 3);
        constraints.weighty = 1;
        this.setLayout(layout);

        iconLabel = new JLabel();
        constraints.anchor = GridBagConstraints.NORTHWEST;
        constraints.gridwidth = 1;
        constraints.weightx = 1;
        constraints.gridheight = 5;
        layout.setConstraints(iconLabel, constraints);
        this.add(iconLabel);

        titleLabel = new JLabel();
        titleLabel.setText(label.getString("javaspeaker.title")+":");
        titleLabel.setForeground(labelColor);
        constraints.gridwidth = 1;
        constraints.weightx = 1;
        constraints.gridheight = 1;
        constraints.anchor = GridBagConstraints.NORTHEAST;
        layout.setConstraints(titleLabel, constraints);
        this.add(titleLabel);
        
        documentTitle = new JLabel();
        constraints.gridx = GridBagConstraints.RELATIVE;
        constraints.gridwidth = GridBagConstraints.REMAINDER;
        constraints.anchor = GridBagConstraints.WEST;
        layout.setConstraints(documentTitle, constraints);
        this.add(documentTitle);

        descLabel = new JLabel();
        descLabel.setText(label.getString("javaspeaker.description")+":");
        descLabel.setForeground(labelColor);
        constraints.gridwidth = 1;
        constraints.weightx = 1;
        constraints.gridheight = 1;
        constraints.anchor = GridBagConstraints.NORTHEAST;
        layout.setConstraints(descLabel, constraints);
        this.add(descLabel);
        
        documentDescription = new JTextArea();
        documentDescription.setWrapStyleWord(true);
        documentDescription.setLineWrap(true);
        documentDescription.setColumns(200);
        documentDescription.setEditable(false);
        documentDescription.setBackground(this.getBackground());
        documentDescription.setOpaque(false);
        documentDescription.setBorder(null);
        constraints.gridwidth = GridBagConstraints.REMAINDER;
        constraints.fill = GridBagConstraints.BOTH;
        layout.setConstraints(documentDescription, constraints);
        this.add(documentDescription);

        copyrightLabel = new JLabel();
        copyrightLabel.setText(label.getString("javaspeaker.copyright")+":");
        copyrightLabel.setForeground(labelColor);
        constraints.gridx = 1;
        constraints.gridwidth = 1;
        constraints.weightx = 1;
        constraints.anchor = GridBagConstraints.NORTHEAST;
        constraints.fill = GridBagConstraints.NONE;
        layout.setConstraints(copyrightLabel, constraints);
        this.add(copyrightLabel);
        
        documentCopyright = new JTextArea();
        documentCopyright.setWrapStyleWord(true);
        documentCopyright.setLineWrap(true);
        documentCopyright.setColumns(200);
        documentCopyright.setEditable(false);
        documentCopyright.setBackground(this.getBackground());
        documentCopyright.setOpaque(false);
        documentCopyright.setBorder(null);
        constraints.gridx = GridBagConstraints.RELATIVE;
        constraints.gridwidth = GridBagConstraints.REMAINDER;
        constraints.anchor = GridBagConstraints.WEST;
        constraints.fill = GridBagConstraints.BOTH;
        layout.setConstraints(documentCopyright, constraints);
        this.add(documentCopyright);

        constraints.fill = GridBagConstraints.NONE;

        authorLabel = new JLabel();
        authorLabel.setText(label.getString("javaspeaker.item.author")+":");
        authorLabel.setForeground(labelColor);
        constraints.gridx = 1;
        constraints.gridwidth = 1;
        constraints.weightx = 1;
        constraints.anchor = GridBagConstraints.EAST;
        layout.setConstraints(authorLabel, constraints);
        this.add(authorLabel);
        
        documentAuthor = new JLabel();
        constraints.gridx = GridBagConstraints.RELATIVE;
        constraints.gridwidth = GridBagConstraints.REMAINDER;
        constraints.anchor = GridBagConstraints.WEST;
        layout.setConstraints(documentAuthor, constraints);
        this.add(documentAuthor);

        mimeTypeLabel = new JLabel();
        mimeTypeLabel.setText(label.getString("javaspeaker.mimeType")+":");
        mimeTypeLabel.setForeground(labelColor);
        constraints.gridx = 1;
        constraints.gridwidth = 1;
        constraints.weightx = 1;
        constraints.anchor = GridBagConstraints.EAST;
        layout.setConstraints(mimeTypeLabel, constraints);
        this.add(mimeTypeLabel);
        
        documentMimeType = new JLabel();
        constraints.gridx = GridBagConstraints.RELATIVE;
        constraints.gridwidth = 1;
        constraints.weightx = 1;
        constraints.anchor = GridBagConstraints.WEST;
        layout.setConstraints(documentMimeType, constraints);
        this.add(documentMimeType);

        creationDateLabel = new JLabel();
        creationDateLabel.setText(label.getString("javaspeaker.item.creation")+":");
        creationDateLabel.setForeground(labelColor);
        constraints.gridwidth = 1;
        constraints.weightx = 1;
        constraints.anchor = GridBagConstraints.EAST;
        layout.setConstraints(creationDateLabel, constraints);
        this.add(creationDateLabel);
        
        documentCreationDate = new JLabel();
        constraints.gridwidth = 1;
        constraints.weightx = 1;
        constraints.anchor = GridBagConstraints.WEST;
        layout.setConstraints(documentCreationDate, constraints);
        this.add(documentCreationDate);

        this.setVisible(false);
    }
    
    /**
     * display the document's header 
     * @param document
     */
    public void displayDocument(SimpleDocument document, Target target) {
        this.document = document;
        
        String title = document.getTitle();
        documentTitle.setText(title);
        
        String author = document.getAuthor();
        documentAuthor.setText(author);

        String copyright = document.getCopyright();
        documentCopyright.setText(copyright);

        Date creationDate = document.getCreationDate();
        if (creationDate != null) {
            documentCreationDate.setText(DateFormat.getDateInstance().format(creationDate));
        }
        
        String description = document.getDescription();
        documentDescription.setText(description);
        
        String mimeType = document.getMimeType();
        if (mimeType != null) {
            documentMimeType.setText(mimeType);
            Icon mimeTypeIcon = IconFactory.getIconByMimeType(mimeType);
            documentMimeType.setIcon(mimeTypeIcon);
        } else {
            documentMimeType.setText(null);
            documentMimeType.setIcon(null);
        }
    }
    
    /**
     * 
     */
    public void relocalize() {
        ResourceBundle label = ResourceBundle.getBundle("label");
        
        creationDateLabel.setText(label.getString("javaspeaker.item.creation")+":");
        authorLabel.setText(label.getString("javaspeaker.item.author")+":");
        copyrightLabel.setText(label.getString("javaspeaker.copyright")+":");
        mimeTypeLabel.setText(label.getString("javaspeaker.mimeType")+":");
        titleLabel.setText(label.getString("javaspeaker.title")+":");
        
        if (document != null) {
            Date creationDate = document.getCreationDate();
            if (creationDate != null) {
          documentCreationDate.setText(DateFormat.getDateInstance().format(creationDate));
            }
        }
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.