/* * FontEditorPane.java * * Created on 31 ���� 2006 �., 6:31 * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package datechooser.beans.editor.font; import java.awt.*; import java.beans.*; import javax.swing.*; /** * Panel for font editor.<br> * ������ ��������� �������. * @author Androsov Vadim * @since 1.0 */ class FontEditorPane extends JPanel implements PropertyChangeListener { private PropertyEditorSupport editor; private FontSelectPane selector; private FontPreviewPane preview; public FontEditorPane(PropertyEditorSupport editor) { setEditor(editor); selector = new FontSelectPane((Font) editor.getValue()); preview = new FontPreviewPane((Font) editor.getValue()); setLayout(new BorderLayout()); add(selector, BorderLayout.NORTH); add(preview, BorderLayout.CENTER); selector.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { if (!FontSelectPane.FONT_EVENT_NAME.equals(evt.getPropertyName())) return; Font newFont = selector.getSelectedFont(); preview.setFont(newFont); getEditor().setValue(newFont); getEditor().firePropertyChange(); } }); } public PropertyEditorSupport getEditor() { return editor; } public void setEditor(PropertyEditorSupport editor) { if (this.editor != null) this.editor.removePropertyChangeListener(this); this.editor = editor; editor.addPropertyChangeListener(this); } public void propertyChange(PropertyChangeEvent evt) { Font font = (Font) getEditor().getValue(); selector.setSelectedFont(font); preview.setFont(font); } }