Laf-Widget client properties

View all client properties.

Client property name



Client property name for specifying that the text component contents should be selected on focus gain. This property can be set either on a single text component or globally on UIManager. The value in both cases should be either Boolean.TRUE or Boolean.FALSE.

See also

Sample code

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;

import org.pushingpixels.lafwidget.LafWidget;
import org.pushingpixels.substance.api.SubstanceLookAndFeel;

 * Test application that shows the use of the
 {@link LafWidget#TEXT_SELECT_ON_FOCUS} client property.
 @author Kirill Grouchnikov
public class TextSelectOnFocus extends JFrame {
   * Creates the main frame for <code>this</code> sample.
  public TextSelectOnFocus() {
    super("Text select on focus");

    this.setLayout(new BorderLayout());

    final JTextField jtf = new JTextField("sample text");

    JPanel main = new JPanel(new FlowLayout(FlowLayout.CENTER));
    this.add(main, BorderLayout.CENTER);

    JPanel controls = new JPanel(new FlowLayout(FlowLayout.RIGHT));

    final JCheckBox hasSelectOnFocus = new JCheckBox(
        "Has \"select on focus\" behaviour");
    hasSelectOnFocus.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
            hasSelectOnFocus.isSelected() ? Boolean.TRUE : null);

    this.add(controls, BorderLayout.SOUTH);


   * The main method for <code>this</code> sample. The arguments are ignored.
   @param args
   *            Ignored.
  public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        SubstanceLookAndFeel.setSkin(new BusinessBlackSteelSkin());
        new TextSelectOnFocus().setVisible(true);

The screenshot below shows a text field when this property is not installed. The text field is clicked (focus transferred to it) and the text is not selected:

After installing this property on the text field, clicking on this field (that gains focus) selects all the text: