« « JPanel con Imagen | Crear Un Panel transparente » »
Hola a todos denuevo me encuentro aqui, en esta oportunidad vamos desarroollar un JTextField al cual le podamos añadir una imagen, y ademas va a estar redondeado, el codigo para desarrollarlo es asi:
import java.awt.Color; import java.awt.Dimension; import java.awt.GradientPaint; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.Paint; import java.awt.geom.RoundRectangle2D; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JTextField; import javax.swing.border.EmptyBorder; /** * * @author Edisoncor */ public class JERoundTextField extends JTextField{ private int arcw=20; private int arch=20; private Image image=null; private Icon icon; public JERoundTextField() { setOpaque(false); setBorder(new EmptyBorder(0,5,0,2)); setPreferredSize(new Dimension(100,20)); } @Override protected void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D) g; Paint oldPaint = g2.getPaint(); RoundRectangle2D.Float r2d = new RoundRectangle2D.Float( 0,0,getWidth(),getHeight(),arcw,arch); g2.clip(r2d); g2.setPaint(new GradientPaint(0.0f, 0.0f, getBackground(), 0.0f, getHeight(), getBackground())); g2.fillRect(0,0,getWidth(),getHeight()); if(getImage()!=null){ g2.drawImage(getImage(), 5, 2, getHeight()-3, getHeight()-3, null); setBorder(new EmptyBorder(0,(int)(getHeight()*1.2),0,2)); } g2.setPaint(new GradientPaint(0.0f, 0.0f, Color.BLACK, 0.0f, getHeight(), Color.BLACK)); g2.drawRoundRect(0, 0, getWidth(), getHeight(), arcw, arch); g2.setPaint(oldPaint); super.paintComponent(g); } public int getArcw() { return arcw; } public void setArcw(int arcw) { this.arcw = arcw; } public int getArch() { return arch; } public void setArch(int arch) { this.arch = arch; } public Image getImage() { return image; } public void setImage(Image image) { this.image = image; } public Icon getIcon() { return icon; } public void setIcon(Icon icon){ this.icon=icon; setImage(((ImageIcon)icon).getImage()); } }
aqui podemos ver una demostracion de como quedaria el JTexfield
Bookmark and Share
Close this Window Bookmark and Share This Page
Copy HTML:
If you like this then please subscribe to the RSS Feed.
Tags: Graphics2D, Icon, java Swing, JTextField con Imagen
« « JPanel con Imagen | Crear Un Panel transparente » »


![[del.icio.us]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/delicious.png)
![[Digg]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/digg.png)
![[Google]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/google.png)
![[StumbleUpon]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/stumbleupon.png)
![[Windows Live]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/windowslive.png)
![[Yahoo!]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/yahoo.png)
![[Email]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/email.png)



Noviembre 25th, 2007 at 10:12 pm
me parecio muy interesante los ejemplos, a mi me gusta java pero no solían gustarme la clase Graphics al punto que no la utilize(hasta 3 mese atras) ahora con esos ejemplos sencillos y muy utiles espero que de una vez por todas me guste esa pendejada