package com.fr.design.style; import javax.swing.Box; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import com.fr.design.gui.itextfield.UINumberField; import com.fr.design.gui.itextfield.UITextField; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.general.FRFont; import com.fr.design.utils.gui.GUICoreUtils; public class FontSizeStylePane extends JPanel { private UINumberField sizeField; private JList sizeList; private UITextField styleField; private JList styleList; public FontSizeStylePane() { this.init(); } private void init() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); JPanel fontVSizPane = FRGUIPaneFactory.createX_AXISBoxInnerContainer_S_Pane(); this.add(fontVSizPane); // fontVSizPane.setLayout(new BoxLayout(fontVSizPane, BoxLayout.X_AXIS)); fontVSizPane.setBorder(GUICoreUtils.createTitledBorder(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Style_Font_Size"), null)); String[] styles = { com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Font_Plain"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Font_Bold"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Font_Italic"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Font_Bold_Italic")}; styleField = new UITextField(); styleField.setEditable(false); styleList = new JList(styles); styleList.setVisibleRowCount(4); JPanel stylePanel = FRFontPane.createTextFieldListPane("", styleField, styleList); fontVSizPane.add(stylePanel); fontVSizPane.add(Box.createHorizontalStrut(6)); JPanel sizePanel = FRFontPane.createTextFieldListPane("", sizeField = new UINumberField(), sizeList = new JList(FRFontPane.Font_Sizes)); sizeField.setMaxDecimalLength(1); sizeField.setEditable(false); sizeList.setVisibleRowCount(4); fontVSizPane.add(sizePanel); styleField.setText((String) styleList.getSelectedValue()); sizeList.addListSelectionListener(listener); styleList.addListSelectionListener(listener); } ListSelectionListener listener = new ListSelectionListener() { public void valueChanged(ListSelectionEvent evt) { Object source = evt.getSource(); if (source == getSizeList()) { Integer size = (Integer) getSizeList().getSelectedValue(); if (size != null) { getSizeField().setValue(size.intValue()); } } else if (source == getStyleList()) { String style = (String) getStyleList().getSelectedValue(); if (style != null) getStyleField().setText(style); } } }; public UINumberField getSizeField() { return sizeField; } public JList getStyleList() { return styleList; } public JList getSizeList() { return sizeList; } public UITextField getStyleField() { return styleField; } public void populate(FRFont frFont) { styleList.setSelectedIndex(frFont.getStyle()); sizeList.setSelectedValue(new Integer(frFont.getSize()), true); sizeField.setValue(frFont.getSize2D()); } }