/* * This file is part of WebLookAndFeel library. * * WebLookAndFeel library 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 3 of the License, or * (at your option) any later version. * * WebLookAndFeel library 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 WebLookAndFeel library. If not, see . */ package com.alee.examples.groups.futurico; import com.alee.examples.WebLookAndFeelDemo; import com.alee.examples.content.DefaultExample; import com.alee.extended.painter.NinePatchStatePainter; import com.alee.extended.panel.GroupPanel; import com.alee.laf.button.WebButton; import com.alee.laf.text.WebPasswordField; import com.alee.laf.text.WebTextField; import com.alee.utils.NinePatchUtils; import javax.swing.*; import java.awt.*; /** * User: mgarin Date: 14.03.12 Time: 14:37 */ public class FuturicoFieldsExample extends DefaultExample { public static final ImageIcon searchIcon = new ImageIcon ( FuturicoFieldsExample.class.getResource ( "icons/field/search.png" ) ); public static final ImageIcon pSearchIcon = new ImageIcon ( FuturicoFieldsExample.class.getResource ( "icons/field/psearch.png" ) ); @Override public String getTitle () { return "Futurico text fields"; } @Override public String getDescription () { return "Futurico-styled text fields"; } @Override public boolean isFillWidth () { return true; } @Override public Component getPreview ( final WebLookAndFeelDemo owner ) { // Painters used for example fields final NinePatchStatePainter painter1 = NinePatchUtils.loadNinePatchStatePainter ( getResource ( "field.xml" ) ); // Text field final WebTextField textField = new WebTextField ( "Styled text field" ); textField.setPainter ( painter1 ); textField.setForeground ( Color.WHITE ); // Password field final WebPasswordField passwordField = new WebPasswordField ( "Styled password field" ); passwordField.setPainter ( painter1 ); passwordField.setForeground ( Color.WHITE ); // Field with trailing component final WebTextField componentField = new WebTextField ( "Styled text field with leading component" ); componentField.setFieldMargin ( 0, 0, 0, 6 ); componentField.setPainter ( NinePatchUtils.loadNinePatchStatePainter ( getResource ( "sfield.xml" ) ) ); componentField.setForeground ( Color.WHITE ); final WebButton sButton = new WebButton (); sButton.setFocusable ( false ); sButton.setUndecorated ( true ); sButton.setLeftRightSpacing ( 0 ); sButton.setMoveIconOnPress ( false ); sButton.setCursor ( Cursor.getDefaultCursor () ); sButton.setIcon ( searchIcon ); sButton.setPressedIcon ( pSearchIcon ); componentField.setTrailingComponent ( sButton ); return new GroupPanel ( false, textField, passwordField, componentField ); } }