/*************************************************** * * cismet GmbH, Saarbruecken, Germany * * ... and it just works. * ****************************************************/ /* * Example.java * * Created on October 25, 2005, 2:45 PM * * To change this template, choose Tools | Options and locate the template under * the Source Creation and Management node. Right-click the template and choose * Open. You can then make changes to the template in the Source Editor. */ package de.cismet.tools.gui.autocomplete; import java.awt.Component; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.TimeZone; import javax.swing.AbstractAction; import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.DefaultListCellRenderer; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.ListCellRenderer; /** * DOCUMENT ME! * * @version $Revision$, $Date$ */ public class Example { //~ Instance fields -------------------------------------------------------- private CompleterTextField _tf; private CompleterTextField _tfww; private JComboBox _combo; //~ Constructors ----------------------------------------------------------- /** * Creates a new instance of Example. */ public Example() { final JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().add(_createPanel()); frame.setBounds(100, 100, 450, 350); frame.setVisible(true); } //~ Methods ---------------------------------------------------------------- /** * DOCUMENT ME! * * @return DOCUMENT ME! */ private JPanel _createPanel() { _tf = new CompleterTextField(TimeZone.getAvailableIDs(), false); final JCheckBox caseCheck = new JCheckBox(org.openide.util.NbBundle.getMessage( Example.class, "Example.caseCheck.text")); // NOI18N caseCheck.setSelected(_tf.isCaseSensitive()); final JCheckBox correctCheck = new JCheckBox(org.openide.util.NbBundle.getMessage( Example.class, "Example.correctCheck.text")); // NOI18N correctCheck.setSelected(_tf.isCorrectingCase()); correctCheck.setEnabled(!caseCheck.isSelected()); correctCheck.setToolTipText(org.openide.util.NbBundle.getMessage( Example.class, "Example.correctCheck.tooltip")); // NOI18N caseCheck.addActionListener(new ActionListener() { @Override public void actionPerformed(final ActionEvent arg0) { _tf.setCaseSensitive(caseCheck.isSelected()); correctCheck.setEnabled(!caseCheck.isSelected()); if (caseCheck.isSelected()) { correctCheck.setSelected(false); _tf.setCorrectCase(false); } } }); correctCheck.addActionListener(new ActionListener() { @Override public void actionPerformed(final ActionEvent arg0) { _tf.setCorrectCase(correctCheck.isSelected()); } }); final JPanel panel = new JPanel(); panel.setLayout(new FlowLayout()); panel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); panel.add(new JLabel( org.openide.util.NbBundle.getMessage(Example.class, "Example._createPanel().panel.JLabel_anon1.text"))); // NOI18N panel.add(_tf); panel.add(Box.createGlue()); panel.add(caseCheck); panel.add(Box.createGlue()); panel.add(correctCheck); panel.add(Box.createVerticalStrut(20)); panel.add(Box.createVerticalStrut(20)); _tfww = new CompleterTextField(TimeZone.getAvailableIDs(), true); final JCheckBox caseCheck2 = new JCheckBox(org.openide.util.NbBundle.getMessage( Example.class, "Example.caseCheck2.text")); // NOI18N caseCheck2.setSelected(_tfww.isCaseSensitive()); final JCheckBox correctCheck2 = new JCheckBox(org.openide.util.NbBundle.getMessage( Example.class, "Example.correctCheck2.text")); // NOI18N correctCheck2.setSelected(_tfww.isCorrectingCase()); correctCheck2.setEnabled(!caseCheck2.isSelected()); correctCheck2.setToolTipText(org.openide.util.NbBundle.getMessage( Example.class, "Example.correctCheck2.tooltip")); // NOI18N caseCheck2.addActionListener(new ActionListener() { @Override public void actionPerformed(final ActionEvent arg0) { _tfww.setCaseSensitive(caseCheck2.isSelected()); correctCheck2.setEnabled(!caseCheck2.isSelected()); if (caseCheck2.isSelected()) { correctCheck2.setSelected(false); _tfww.setCorrectCase(false); } } }); correctCheck2.addActionListener(new ActionListener() { @Override public void actionPerformed(final ActionEvent arg0) { _tfww.setCorrectCase(correctCheck2.isSelected()); } }); panel.add(new JLabel( org.openide.util.NbBundle.getMessage(Example.class, "Example._createPanel().panel.JLabel_anon2.text"))); // NOI18N panel.add(_tfww); panel.add(Box.createGlue()); panel.add(caseCheck2); panel.add(Box.createGlue()); panel.add(correctCheck2); panel.add(Box.createVerticalStrut(20)); panel.add(Box.createVerticalStrut(20)); final JButton tbn = new JButton(new AbstractAction() { @Override public void actionPerformed(final ActionEvent e) { System.out.println( _combo.getSelectedItem() + " " + _combo.getSelectedIndex() + " " + _combo.getModel()); // NOI18N } }); tbn.setText(org.openide.util.NbBundle.getMessage(Example.class, "Example._createPanel().tbn.text")); // NOI18N panel.add(tbn); // _combo = new CompleterComboBox(new String[]{""," ","aa","Aa","aA","AA","Spielplatz"}); final DefaultListCellRenderer dlcr = new DefaultListCellRenderer(); _combo = new JComboBox( new TT[] { new TT( org.openide.util.NbBundle.getMessage( Example.class, "Example._createPanel().dlcr.TT_anon1.bdy")), // NOI18N new TT( org.openide.util.NbBundle.getMessage( Example.class, "Example._createPanel().dlcr.TT_anon2.bdy")), // NOI18N new TT( org.openide.util.NbBundle.getMessage( Example.class, "Example._createPanel().dlcr.TT_anon3.bdy")), // NOI18N new TT( org.openide.util.NbBundle.getMessage( Example.class, "Example._createPanel().dlcr.TT_anon4.bdy")), // NOI18N new TT( org.openide.util.NbBundle.getMessage( Example.class, "Example._createPanel().dlcr.TT_anon5.bdy")), // NOI18N null }); _combo.setRenderer(new ListCellRenderer() { @Override public Component getListCellRendererComponent(final JList list, final Object value, final int index, final boolean isSelected, final boolean cellHasFocus) { final Component ret = dlcr.getListCellRendererComponent( list, value, index, isSelected, cellHasFocus); if (value == null) { ((JLabel)ret).setText("nix"); // NOI18N } return ret; } }); final ComboCompleterFilter filter = ComboCompleterFilter.addCompletionMechanism(_combo); // _combo = new CompleterComboBox(new String[]{"x"," ","aa","Aa","aA","AA","Spielplatz"}); filter.setStrict(false); filter.setNullRespresentation("nix"); // NOI18N // _combo = new CompleterComboBox(TimeZone.getAvailableIDs()); final JCheckBox caseCheck3 = new JCheckBox(org.openide.util.NbBundle.getMessage( Example.class, "Example.caseCheck3.text")); // NOI18N caseCheck3.setSelected(filter.isCaseSensitive()); final JCheckBox correctCheck3 = new JCheckBox(org.openide.util.NbBundle.getMessage( Example.class, "Example.correctCheck3.text")); // NOI18N correctCheck3.setSelected(filter.isCorrectingCase()); correctCheck3.setEnabled(!caseCheck3.isSelected()); correctCheck3.setToolTipText(org.openide.util.NbBundle.getMessage( Example.class, "Example.correctCheck3.tooltip")); // NOI18N caseCheck3.addActionListener(new ActionListener() { @Override public void actionPerformed(final ActionEvent arg0) { filter.setCaseSensitive(caseCheck3.isSelected()); correctCheck3.setEnabled(!caseCheck3.isSelected()); if (caseCheck3.isSelected()) { correctCheck3.setSelected(false); filter.setCorrectCase(false); } } }); correctCheck3.addActionListener(new ActionListener() { @Override public void actionPerformed(final ActionEvent arg0) { filter.setCorrectCase(correctCheck3.isSelected()); } }); panel.add(new JLabel( org.openide.util.NbBundle.getMessage(Example.class, "Example._createPanel().panel.JLabel_anon3.text"))); // NOI18N panel.add(_combo); panel.add(Box.createGlue()); panel.add(caseCheck3); panel.add(Box.createGlue()); panel.add(correctCheck3); return panel; } /** * DOCUMENT ME! * * @param args the command line arguments */ public static void main(final String[] args) { new Example(); } } /** * DOCUMENT ME! * * @version $Revision$, $Date$ */ class TT { //~ Instance fields -------------------------------------------------------- final String bdy; //~ Constructors ----------------------------------------------------------- /** * Creates a new TT object. * * @param bdy DOCUMENT ME! */ public TT(final String bdy) { this.bdy = bdy; } //~ Methods ---------------------------------------------------------------- @Override public String toString() { return bdy; } }