/* * CompoundBorderEditor.java * * Created on 31 ���� 2006 �., 18:04 * */ package datechooser.beans.editor.border.types; import datechooser.beans.editor.border.*; import datechooser.beans.editor.utils.*; import static datechooser.beans.locale.LocaleUtils.getEditorLocaleString; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; /** * Editor for compound borders.<br> * �������� ������ ���� Compound * @author Androsov Vadim * @since 1.0 */ public class CompoundBorderEditor extends AbstractBorderEditor { private Border inside; private Border outside; private EditorDialog editorDialog; public CompoundBorderEditor() { initialize(); setCaption(getEditorLocaleString("Compound")); editorDialog = new EditorDialog((Frame)getParent(), new SimpleBorderEditor()); JPanel buttons = new JPanel(new GridLayout(2, 1, 5, 2)); buttons.add(createOutsideChooseButton()); buttons.add(createInsideChooseButton()); setLayout(new BorderLayout()); add(buttons, BorderLayout.NORTH); refreshInterface(); } private JPanel createInsideChooseButton() { JButton bBorder = new JButton(getEditorLocaleString("Inside_border")); bBorder.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Border newBorder = (Border) editorDialog.showDialog(inside, getEditorLocaleString("Select_border")); if (!editorDialog.isCanceled()) { inside = newBorder; fireChange(); } } }); return getCenteredPane(bBorder); } private JPanel createOutsideChooseButton() { JButton bBorder = new JButton(getEditorLocaleString("Outside_border")); bBorder.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Border newBorder = (Border) editorDialog.showDialog(outside, getEditorLocaleString("Select_border")); if (!editorDialog.isCanceled()) { outside = newBorder; fireChange(); } } }); return getCenteredPane(bBorder); } public void prepareSelection() { value = new CompoundBorder(outside, inside); } public void refreshInterface() { CompoundBorder compoundBorder = (CompoundBorder) getCurrentBorder(); if (compoundBorder != null) { inside = compoundBorder.getInsideBorder(); outside = compoundBorder.getOutsideBorder(); } } protected Border getDefaultValue() { return BorderFactory.createCompoundBorder(); } }