/*
* FontChooser.java
*
* Created on 27. Januar 2006, 18:56
*/
package ui.beans;
import java.awt.GraphicsEnvironment;
import javax.swing.DefaultListModel;
/**
*
* @author marcell
*/
public class FontChooser extends javax.swing.JPanel {
/** Creates new form FontChooser */
public FontChooser() {
initComponents();
initFamilies ();
}
private void initFamilies() {
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
String fontFamilies[] = ge.getAvailableFontFamilyNames();
DefaultListModel listModel = new DefaultListModel();
for (int i=0; i<fontFamilies.length; i++) {
listModel.addElement(fontFamilies[i]);
}
listFamily.setModel(listModel);
}
/** 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.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
private void initComponents() {
java.awt.GridBagConstraints gridBagConstraints;
jLabel1 = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
listFamily = new javax.swing.JList();
jLabel2 = new javax.swing.JLabel();
jScrollPane2 = new javax.swing.JScrollPane();
listStyle = new javax.swing.JList();
jLabel3 = new javax.swing.JLabel();
jScrollPane3 = new javax.swing.JScrollPane();
listSize = new javax.swing.JList();
jPanel1 = new javax.swing.JPanel();
jTextField1 = new javax.swing.JTextField();
setLayout(new java.awt.GridBagLayout());
setBorder(javax.swing.BorderFactory.createEmptyBorder(5, 5, 5, 5));
jLabel1.setText("Family:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.weightx = 1.0;
add(jLabel1, gridBagConstraints);
listFamily.setModel(new javax.swing.AbstractListModel() {
String[] strings = { "Family1", "Family2", "Family3", "Family4" };
public int getSize() { return strings.length; }
public Object getElementAt(int i) { return strings[i]; }
});
listFamily.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
listFamilyValueChanged(evt);
}
});
jScrollPane1.setViewportView(listFamily);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.ipadx = 23;
gridBagConstraints.ipady = 117;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
gridBagConstraints.insets = new java.awt.Insets(0, 0, 5, 0);
add(jScrollPane1, gridBagConstraints);
jLabel2.setText("Style:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 0;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(0, 5, 0, 0);
add(jLabel2, gridBagConstraints);
listStyle.setModel(new javax.swing.AbstractListModel() {
String[] strings = { "Roman", "Bold", "Oblique", "Bold Oblique" };
public int getSize() { return strings.length; }
public Object getElementAt(int i) { return strings[i]; }
});
listStyle.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
listStyleValueChanged(evt);
}
});
jScrollPane2.setViewportView(listStyle);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 1;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.ipadx = 23;
gridBagConstraints.ipady = 117;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 0);
add(jScrollPane2, gridBagConstraints);
jLabel3.setText("Size:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 0;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(0, 5, 0, 0);
add(jLabel3, gridBagConstraints);
listSize.setModel(new javax.swing.AbstractListModel() {
String[] strings = { "8", "9", "10", "11", "12", "13", "14", "15", "16", "18", "20", "22", "24", "26", "28", "32", "36", "40" };
public int getSize() { return strings.length; }
public Object getElementAt(int i) { return strings[i]; }
});
listSize.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
listSizeValueChanged(evt);
}
});
jScrollPane3.setViewportView(listSize);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 1;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.ipadx = 23;
gridBagConstraints.ipady = 117;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.weighty = 1.0;
gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 0);
add(jScrollPane3, gridBagConstraints);
jPanel1.setLayout(new java.awt.GridBagLayout());
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Preview:"));
jTextField1.setText("abcdefghijk ABCDEFGHIJK");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
jPanel1.add(jTextField1, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 2;
gridBagConstraints.gridwidth = 3;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.ipadx = 366;
gridBagConstraints.ipady = 36;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 0);
add(jPanel1, gridBagConstraints);
}// </editor-fold>//GEN-END:initComponents
private void listSizeValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_listSizeValueChanged
// font size chooser changed
// TODO add your handling code here:
applyFont();
}//GEN-LAST:event_listSizeValueChanged
private void listStyleValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_listStyleValueChanged
// font style chooser changed
// TODO add your handling code here:
applyFont();
}//GEN-LAST:event_listStyleValueChanged
private void listFamilyValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_listFamilyValueChanged
// font family chooser changed
// TODO add your handling code here:
applyFont();
}//GEN-LAST:event_listFamilyValueChanged
public void setGUIFont (java.awt.Font font) {
this.guiFont = font;
listFamily.setSelectedValue(font.getFamily(), true);
listStyle.setSelectedIndex(font.getStyle());
listSize.setSelectedValue (new Integer (font.getSize()).toString(), true);
applyFont ();
}
public java.awt.Font getGUIFont () {
return this.guiFont;
}
private void applyFont () {
String family = (String)listFamily.getSelectedValue();
int style = listStyle.getSelectedIndex();
String stringSize = (String)listSize.getSelectedValue();
int size = 8;
try {
size = Integer.parseInt(stringSize);
} catch (Exception e) {
}
this.guiFont = new java.awt.Font (family, style, size);
this.jTextField1.setFont(this.guiFont);
this.jTextField1.setText("abcdefghijk ABCDEFGHIJK");
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JTextField jTextField1;
private javax.swing.JList listFamily;
private javax.swing.JList listSize;
private javax.swing.JList listStyle;
// End of variables declaration//GEN-END:variables
private java.awt.Font guiFont;
}