You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

750 lines
22 KiB

//==============================================================================
//
// Copyright (c) 2002-
// Authors:
// * Andrew Hinton <ug60axh@cs.bham.ac.uk> (University of Birmingham)
// * Dave Parker <david.parker@comlab.ox.ac.uk> (University of Oxford, formerly University of Birmingham)
//
//------------------------------------------------------------------------------
//
// This file is part of PRISM.
//
// PRISM is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// PRISM is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with PRISM; if not, write to the Free Software Foundation,
// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
//==============================================================================
package userinterface.util;
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
@SuppressWarnings("serial")
public class FontChooser extends javax.swing.JDialog implements ListSelectionListener, ActionListener, FocusListener, ChangeListener
{
protected Font lastFont;
protected Color lastColor;
protected Font defaultFont;
protected Color defaultColor;
protected boolean shouldReturn;
/** Creates new form FontChooser */
public FontChooser(java.awt.Frame parent)
{
super(parent, true);
initComponents();
previewLabel.setBackground(Color.white);
doListModels();
doListeners();
shouldReturn = true;
}
public FontChooser(Dialog parent)
{
super(parent, true);
initComponents();
previewLabel.setBackground(Color.white);
doListModels();
doListeners();
shouldReturn = true;
setLocationRelativeTo(getParent()); // centre
}
public static FontColorPair getFont(Dialog parent, Font startFont, Color startColor, Font defaultFont, Color defaultColor)
{
FontChooser choose = new FontChooser(parent);
choose.shouldReturn = true;
choose.defaultFont = defaultFont;
choose.defaultColor = defaultColor;
choose.lastColor = startColor;
choose.lastFont = startFont;
choose.colorChooser.setColor(choose.lastColor);
choose.setFont(choose.lastFont);
choose.updatePreview();
choose.setVisible(true);
FontColorPair pair = new FontColorPair();
pair.f = choose.lastFont;
pair.c = choose.lastColor;
if (choose.shouldReturn)
return pair;
else
return null;
}
public static FontColorPair getFont(Frame parent, Font startFont, Color startColor, Font defaultFont, Color defaultColor)
{
FontChooser choose = new FontChooser(parent);
choose.shouldReturn = true;
choose.defaultFont = defaultFont;
choose.defaultColor = defaultColor;
choose.lastColor = startColor;
choose.lastFont = startFont;
choose.colorChooser.setColor(choose.lastColor);
choose.setFont(choose.lastFont);
choose.updatePreview();
choose.setVisible(true);
FontColorPair pair = new FontColorPair();
pair.f = choose.lastFont;
pair.c = choose.lastColor;
if (choose.shouldReturn)
return pair;
else
return null;
}
private void doListModels()
{
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
String[] allFonts = ge.getAvailableFontFamilyNames();
//Font[]allFonts = ge.getAllFonts();
String[] styles = { "Plain", "Bold", "Italic", "Bold Italic" };
String[] sizes = { "8", "9", "10", "11", "12", "14", "16", "18", "20" };
DefaultComboBoxModel fontModel = new DefaultComboBoxModel(allFonts);
DefaultComboBoxModel styleModel = new DefaultComboBoxModel(styles);
DefaultComboBoxModel sizeModel = new DefaultComboBoxModel(sizes);
fontList.setModel(fontModel);
styleList.setModel(styleModel);
sizeList.setModel(sizeModel);
}
private void doListeners()
{
fontList.addListSelectionListener(this);
styleList.addListSelectionListener(this);
sizeList.addListSelectionListener(this);
fontBox.addActionListener(this);
styleBox.addActionListener(this);
sizeBox.addActionListener(this);
okayButton.addActionListener(this);
cancelButton.addActionListener(this);
defaultButton.addActionListener(this);
fontPanel.addFocusListener(this);
theTabs.addChangeListener(this);
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
private void initComponents()//GEN-BEGIN:initComponents
{
theTabs = new javax.swing.JTabbedPane();
fontPanel = new javax.swing.JPanel();
jPanel35 = new javax.swing.JPanel();
jPanel36 = new javax.swing.JPanel();
jPanel37 = new javax.swing.JPanel();
jPanel38 = new javax.swing.JPanel();
jPanel39 = new javax.swing.JPanel();
fontBox = new javax.swing.JTextField();
jPanel40 = new javax.swing.JPanel();
jPanel41 = new javax.swing.JPanel();
jLabel4 = new javax.swing.JLabel();
jPanel42 = new javax.swing.JPanel();
jPanel43 = new javax.swing.JPanel();
jScrollPane4 = new javax.swing.JScrollPane();
fontList = new javax.swing.JList();
jPanel44 = new javax.swing.JPanel();
jPanel45 = new javax.swing.JPanel();
jPanel46 = new javax.swing.JPanel();
jPanel47 = new javax.swing.JPanel();
styleBox = new javax.swing.JTextField();
jPanel48 = new javax.swing.JPanel();
jPanel49 = new javax.swing.JPanel();
jLabel5 = new javax.swing.JLabel();
jPanel50 = new javax.swing.JPanel();
jPanel51 = new javax.swing.JPanel();
jScrollPane5 = new javax.swing.JScrollPane();
styleList = new javax.swing.JList();
jPanel52 = new javax.swing.JPanel();
jPanel53 = new javax.swing.JPanel();
jPanel54 = new javax.swing.JPanel();
sizeBox = new javax.swing.JTextField();
jPanel55 = new javax.swing.JPanel();
jPanel56 = new javax.swing.JPanel();
jLabel6 = new javax.swing.JLabel();
jPanel57 = new javax.swing.JPanel();
jPanel58 = new javax.swing.JPanel();
jScrollPane6 = new javax.swing.JScrollPane();
sizeList = new javax.swing.JList();
jPanel59 = new javax.swing.JPanel();
jPanel60 = new javax.swing.JPanel();
previewLabel = new javax.swing.JLabel();
colorChooser = new javax.swing.JColorChooser();
jPanel32 = new javax.swing.JPanel();
jPanel33 = new javax.swing.JPanel();
defaultButton = new javax.swing.JButton();
jPanel34 = new javax.swing.JPanel();
okayButton = new javax.swing.JButton();
cancelButton = new javax.swing.JButton();
setResizable(false);
addWindowListener(new java.awt.event.WindowAdapter()
{
public void windowClosing(java.awt.event.WindowEvent evt)
{
closeDialog(evt);
}
});
fontPanel.setLayout(new java.awt.BorderLayout());
jPanel35.setLayout(new java.awt.BorderLayout());
jPanel35.setMaximumSize(new java.awt.Dimension(450, 2147483647));
jPanel36.setLayout(new java.awt.BorderLayout());
jPanel36.setMaximumSize(new java.awt.Dimension(450, 100));
jPanel36.setPreferredSize(new java.awt.Dimension(450, 100));
jPanel37.setLayout(new javax.swing.BoxLayout(jPanel37, javax.swing.BoxLayout.X_AXIS));
jPanel38.setLayout(new java.awt.BorderLayout());
jPanel38.setPreferredSize(new java.awt.Dimension(200, 183));
jPanel39.setLayout(new java.awt.BorderLayout());
jPanel39.add(fontBox, java.awt.BorderLayout.CENTER);
jPanel40.setMinimumSize(new java.awt.Dimension(5, 10));
jPanel40.setPreferredSize(new java.awt.Dimension(5, 10));
jPanel39.add(jPanel40, java.awt.BorderLayout.WEST);
jPanel41.setLayout(new java.awt.BorderLayout());
jLabel4.setDisplayedMnemonic('F');
jLabel4.setFont(new java.awt.Font("Dialog", 0, 12));
jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
jLabel4.setLabelFor(fontList);
jLabel4.setText("Font:");
jPanel41.add(jLabel4, java.awt.BorderLayout.CENTER);
jPanel42.setMinimumSize(new java.awt.Dimension(5, 10));
jPanel42.setPreferredSize(new java.awt.Dimension(5, 10));
jPanel41.add(jPanel42, java.awt.BorderLayout.WEST);
jPanel39.add(jPanel41, java.awt.BorderLayout.NORTH);
jPanel38.add(jPanel39, java.awt.BorderLayout.NORTH);
jPanel43.setLayout(new java.awt.BorderLayout());
jPanel43.setPreferredSize(new java.awt.Dimension(269, 100));
jScrollPane4.setViewportView(fontList);
jPanel43.add(jScrollPane4, java.awt.BorderLayout.CENTER);
jPanel43.add(jPanel44, java.awt.BorderLayout.WEST);
jPanel38.add(jPanel43, java.awt.BorderLayout.CENTER);
jPanel37.add(jPanel38);
jPanel45.setLayout(new javax.swing.BoxLayout(jPanel45, javax.swing.BoxLayout.X_AXIS));
jPanel45.setPreferredSize(new java.awt.Dimension(100, 163));
jPanel46.setLayout(new java.awt.BorderLayout());
jPanel47.setLayout(new java.awt.BorderLayout());
jPanel47.add(styleBox, java.awt.BorderLayout.CENTER);
jPanel48.setMinimumSize(new java.awt.Dimension(5, 10));
jPanel48.setPreferredSize(new java.awt.Dimension(5, 10));
jPanel47.add(jPanel48, java.awt.BorderLayout.WEST);
jPanel49.setLayout(new java.awt.BorderLayout());
jLabel5.setDisplayedMnemonic('y');
jLabel5.setFont(new java.awt.Font("Dialog", 0, 12));
jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
jLabel5.setLabelFor(styleList);
jLabel5.setText("Font style:");
jPanel49.add(jLabel5, java.awt.BorderLayout.CENTER);
jPanel50.setMinimumSize(new java.awt.Dimension(5, 10));
jPanel50.setPreferredSize(new java.awt.Dimension(5, 10));
jPanel49.add(jPanel50, java.awt.BorderLayout.WEST);
jPanel47.add(jPanel49, java.awt.BorderLayout.NORTH);
jPanel46.add(jPanel47, java.awt.BorderLayout.NORTH);
jPanel51.setLayout(new java.awt.BorderLayout());
jPanel51.setPreferredSize(new java.awt.Dimension(269, 100));
jScrollPane5.setViewportView(styleList);
jPanel51.add(jScrollPane5, java.awt.BorderLayout.CENTER);
jPanel51.add(jPanel52, java.awt.BorderLayout.WEST);
jPanel46.add(jPanel51, java.awt.BorderLayout.CENTER);
jPanel45.add(jPanel46);
jPanel37.add(jPanel45);
jPanel53.setLayout(new java.awt.BorderLayout());
jPanel53.setPreferredSize(new java.awt.Dimension(100, 163));
jPanel54.setLayout(new java.awt.BorderLayout());
jPanel54.add(sizeBox, java.awt.BorderLayout.CENTER);
jPanel55.setMinimumSize(new java.awt.Dimension(5, 10));
jPanel55.setPreferredSize(new java.awt.Dimension(5, 10));
jPanel54.add(jPanel55, java.awt.BorderLayout.WEST);
jPanel56.setLayout(new java.awt.BorderLayout());
jLabel6.setDisplayedMnemonic('S');
jLabel6.setFont(new java.awt.Font("Dialog", 0, 12));
jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
jLabel6.setLabelFor(sizeList);
jLabel6.setText("Size:");
jPanel56.add(jLabel6, java.awt.BorderLayout.CENTER);
jPanel57.setMinimumSize(new java.awt.Dimension(5, 10));
jPanel57.setPreferredSize(new java.awt.Dimension(5, 10));
jPanel56.add(jPanel57, java.awt.BorderLayout.WEST);
jPanel54.add(jPanel56, java.awt.BorderLayout.NORTH);
jPanel53.add(jPanel54, java.awt.BorderLayout.NORTH);
jPanel58.setLayout(new java.awt.BorderLayout());
jPanel58.setPreferredSize(new java.awt.Dimension(269, 100));
jScrollPane6.setViewportView(sizeList);
jPanel58.add(jScrollPane6, java.awt.BorderLayout.CENTER);
jPanel58.add(jPanel59, java.awt.BorderLayout.WEST);
jPanel53.add(jPanel58, java.awt.BorderLayout.CENTER);
jPanel37.add(jPanel53);
jPanel36.add(jPanel37, java.awt.BorderLayout.CENTER);
jPanel35.add(jPanel36, java.awt.BorderLayout.CENTER);
jPanel60.setLayout(new java.awt.BorderLayout());
jPanel60.setBorder(new javax.swing.border.TitledBorder(null, "Preview", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", 0, 12)));
previewLabel.setBackground(new java.awt.Color(255, 255, 255));
previewLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
previewLabel.setText("AaBbCcDdEeFf123456789!\"\u00a3$%^");
previewLabel.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0)));
previewLabel.setMaximumSize(new java.awt.Dimension(207, 75));
previewLabel.setMinimumSize(new java.awt.Dimension(207, 75));
previewLabel.setPreferredSize(new java.awt.Dimension(207, 75));
jPanel60.add(previewLabel, java.awt.BorderLayout.NORTH);
jPanel35.add(jPanel60, java.awt.BorderLayout.SOUTH);
fontPanel.add(jPanel35, java.awt.BorderLayout.CENTER);
theTabs.addTab("Font", fontPanel);
theTabs.addTab("Colour", colorChooser);
getContentPane().add(theTabs, java.awt.BorderLayout.NORTH);
jPanel32.setLayout(new java.awt.GridLayout(1, 0));
jPanel33.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT));
defaultButton.setFont(new java.awt.Font("Dialog", 0, 12));
defaultButton.setMnemonic('D');
defaultButton.setText("Default...");
jPanel33.add(defaultButton);
jPanel32.add(jPanel33);
jPanel34.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));
okayButton.setFont(new java.awt.Font("Dialog", 0, 12));
okayButton.setText("OK");
okayButton.setMaximumSize(new java.awt.Dimension(89, 25));
okayButton.setMinimumSize(new java.awt.Dimension(89, 25));
okayButton.setPreferredSize(new java.awt.Dimension(89, 25));
jPanel34.add(okayButton);
cancelButton.setFont(new java.awt.Font("Dialog", 0, 12));
cancelButton.setText("Cancel");
cancelButton.setMaximumSize(new java.awt.Dimension(89, 25));
cancelButton.setMinimumSize(new java.awt.Dimension(89, 25));
cancelButton.setPreferredSize(new java.awt.Dimension(89, 25));
jPanel34.add(cancelButton);
jPanel32.add(jPanel34);
getContentPane().add(jPanel32, java.awt.BorderLayout.SOUTH);
pack();
}//GEN-END:initComponents
/** Closes the dialog */
private void closeDialog(java.awt.event.WindowEvent evt)//GEN-FIRST:event_closeDialog
{
setVisible(false);
dispose();
}//GEN-LAST:event_closeDialog
/**
* @param args the command line arguments
*/
public static void main(String args[])
{
new FontChooser(new javax.swing.JFrame()).setVisible(true);
}
public void caretUpdate(CaretEvent e)
{/*
if(e.getSource() == fontBox)
{
String str = fontBox.getText();
for(int i = 0; i < fontList.getModel().getSize(); i++)
{
String listStr = (String)fontList.getModel().getElementAt(i);
if(listStr.startsWith(str))
{
fontList.setSelectedIndex(i);
break;
}
}
}*/
}
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == fontBox) {
String str = fontBox.getText();
for (int i = 0; i < fontList.getModel().getSize(); i++) {
String listStr = ((String) fontList.getModel().getElementAt(i)).toLowerCase();
if (listStr.startsWith(str.toLowerCase())) {
Object value = fontList.getModel().getElementAt(i);
fontList.setSelectedValue(value, true);
break;
}
}
tempValue = (String) fontList.getSelectedValue();
if (tempValue != null) {
fontBox.setText(tempValue);
} else
fontBox.setText("");
} else if (e.getSource() == styleBox) {
String str = styleBox.getText();
for (int i = 0; i < styleList.getModel().getSize(); i++) {
String listStr = ((String) styleList.getModel().getElementAt(i)).toLowerCase();
if (listStr.startsWith(str.toLowerCase())) {
Object value = styleList.getModel().getElementAt(i);
styleList.setSelectedValue(value, true);
break;
}
}
tempValue = (String) styleList.getSelectedValue();
if (tempValue != null) {
fontBox.setText(tempValue);
} else
fontBox.setText("");
} else if (e.getSource() == sizeBox) {
String str = sizeBox.getText();
boolean found = false;
for (int i = 0; i < sizeList.getModel().getSize(); i++) {
String listStr = ((String) sizeList.getModel().getElementAt(i)).toLowerCase();
if (listStr.startsWith(str.toLowerCase())) {
found = true;
Object value = sizeList.getModel().getElementAt(i);
sizeList.setSelectedValue(value, true);
tempValue = (String) sizeList.getSelectedValue();
if (tempValue != null) {
sizeBox.setText(tempValue);
} else
sizeBox.setText("");
break;
}
}
if (!found) {
sizeList.setSelectedIndex(-1);
}
} else if (e.getSource() == defaultButton) {
if (defaultFont != null && defaultColor != null) {
setFont(defaultFont);
colorChooser.setColor(defaultColor);
lastColor = colorChooser.getColor();
updatePreview();
}
} else if (e.getSource() == okayButton) {
setVisible(false);
} else if (e.getSource() == cancelButton) {
shouldReturn = false;
setVisible(false);
}
if (fontValid()) {
this.lastFont = new Font(getFontName(), getFontStyle(), getFontSize());
this.lastColor = colorChooser.getColor();
updatePreview();
}
}
public String getFontName()
{
return fontBox.getText();
}
public int getFontStyle()
{
int style = Font.PLAIN;
switch (styleList.getSelectedIndex()) {
case 0:
style = Font.PLAIN;
break;
case 1:
style = Font.BOLD;
break;
case 2:
style = Font.ITALIC;
break;
case 3:
style = Font.BOLD | Font.ITALIC;
}
return style;
}
public int getFontSize()
{
int size = 12;
try {
size = Integer.parseInt(sizeBox.getText());
} catch (NumberFormatException e) {
}
return size;
}
public boolean fontValid()
{
boolean valid = false;
String str = fontBox.getText();
for (int i = 0; i < fontList.getModel().getSize(); i++) {
String listStr = ((String) fontList.getModel().getElementAt(i)).toLowerCase();
if (listStr.startsWith(str.toLowerCase())) {
valid = true;
}
}
if (!valid)
return false;
return valid;
}
public void setFont(Font f)
{
if (f != null) {
String str = f.getName();
int style = f.getStyle();
String size = "" + f.getSize();
for (int i = 0; i < fontList.getModel().getSize(); i++) {
String listStr = ((String) fontList.getModel().getElementAt(i)).toLowerCase();
if (listStr.equals(str.toLowerCase())) {
Object value = fontList.getModel().getElementAt(i);
fontList.setSelectedValue(value, true);
fontBox.setText((String) value);
break;
}
}
switch (style) {
case Font.PLAIN:
styleList.setSelectedIndex(0);
break;
case Font.ITALIC:
styleList.setSelectedIndex(2);
break;
case Font.BOLD:
styleList.setSelectedIndex(1);
break;
case Font.BOLD | Font.ITALIC:
styleList.setSelectedIndex(3);
break;
}
boolean found = false;
for (int i = 0; i < sizeList.getModel().getSize(); i++) {
String listStr = ((String) sizeList.getModel().getElementAt(i)).toLowerCase();
if (listStr.equals(size.toLowerCase())) {
Object value = sizeList.getModel().getElementAt(i);
sizeList.setSelectedValue(value, true);
sizeBox.setText((String) value);
found = true;
break;
}
}
if (!found) {
sizeBox.setText(size);
}
}
}
String tempValue;
public void valueChanged(ListSelectionEvent e)
{
if (e.getSource() == fontList) {
tempValue = (String) fontList.getSelectedValue();
if (tempValue != null) {
fontBox.setText(tempValue);
} else
fontBox.setText("");
} else if (e.getSource() == styleList) {
tempValue = (String) styleList.getSelectedValue();
if (tempValue != null) {
styleBox.setText(tempValue);
} else
styleBox.setText("");
} else if (e.getSource() == sizeList) {
tempValue = (String) sizeList.getSelectedValue();
if (tempValue != null) {
sizeBox.setText(tempValue);
} else
sizeBox.setText("");
}
if (fontValid()) {
this.lastFont = new Font(getFontName(), getFontStyle(), getFontSize());
this.lastColor = colorChooser.getColor();
updatePreview();
}
}
public void updatePreview()
{
if (lastFont != null && lastColor != null) {
previewLabel.setForeground(lastColor);
previewLabel.setFont(lastFont);
}
}
public void focusGained(FocusEvent e)
{
if (fontValid()) {
this.lastFont = new Font(getFontName(), getFontStyle(), getFontSize());
this.lastColor = colorChooser.getColor();
updatePreview();
}
}
public void focusLost(FocusEvent e)
{
if (fontValid()) {
this.lastFont = new Font(getFontName(), getFontStyle(), getFontSize());
this.lastColor = colorChooser.getColor();
updatePreview();
}
}
public void stateChanged(ChangeEvent e)
{
if (fontValid()) {
this.lastFont = new Font(getFontName(), getFontStyle(), getFontSize());
this.lastColor = colorChooser.getColor();
updatePreview();
}
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton cancelButton;
protected javax.swing.JColorChooser colorChooser;
private javax.swing.JButton defaultButton;
private javax.swing.JTextField fontBox;
private javax.swing.JList fontList;
private javax.swing.JPanel fontPanel;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JPanel jPanel32;
private javax.swing.JPanel jPanel33;
private javax.swing.JPanel jPanel34;
private javax.swing.JPanel jPanel35;
private javax.swing.JPanel jPanel36;
private javax.swing.JPanel jPanel37;
private javax.swing.JPanel jPanel38;
private javax.swing.JPanel jPanel39;
private javax.swing.JPanel jPanel40;
private javax.swing.JPanel jPanel41;
private javax.swing.JPanel jPanel42;
private javax.swing.JPanel jPanel43;
private javax.swing.JPanel jPanel44;
private javax.swing.JPanel jPanel45;
private javax.swing.JPanel jPanel46;
private javax.swing.JPanel jPanel47;
private javax.swing.JPanel jPanel48;
private javax.swing.JPanel jPanel49;
private javax.swing.JPanel jPanel50;
private javax.swing.JPanel jPanel51;
private javax.swing.JPanel jPanel52;
private javax.swing.JPanel jPanel53;
private javax.swing.JPanel jPanel54;
private javax.swing.JPanel jPanel55;
private javax.swing.JPanel jPanel56;
private javax.swing.JPanel jPanel57;
private javax.swing.JPanel jPanel58;
private javax.swing.JPanel jPanel59;
private javax.swing.JPanel jPanel60;
private javax.swing.JScrollPane jScrollPane4;
private javax.swing.JScrollPane jScrollPane5;
private javax.swing.JScrollPane jScrollPane6;
private javax.swing.JButton okayButton;
private javax.swing.JLabel previewLabel;
private javax.swing.JTextField sizeBox;
private javax.swing.JList sizeList;
private javax.swing.JTextField styleBox;
private javax.swing.JList styleList;
private javax.swing.JTabbedPane theTabs;
// End of variables declaration//GEN-END:variables
}