Ayuda - Fondo degradado JPanel

Iniciado por Alexis Vargas Arteaga, 6 Noviembre 2010, 17:14 PM

0 Miembros y 1 Visitante están viendo este tema.

Alexis Vargas Arteaga

Buenas a todos:

Quisiera que me ayudaran con lo siguiente:

Quiero crear un aplicacio JFrame donde el fondo sea degradado he buscado en la web y encontré el siguiete pero no me ha funcionado sabrían por qué o que me recomiendan.

Código (java) [Seleccionar]
import java.awt.Color;
import java.awt.GradientPaint;  
import java.awt.Graphics;  
import java.awt.Graphics2D;  
import java.awt.Rectangle;
public class NuevoJPanel extends javax.swing.JPanel{

   private Color color1 = new Color(255,255,255);

private Color color2 = new Color(0,0,0);

   protected void paintComponent(Graphics g){  
    Graphics2D g2 = (Graphics2D) g.create();  
          Rectangle clip = g2.getClipBounds();  
      float x=getWidth();  
          float y=getHeight();  
       g2.setPaint(new GradientPaint(0.0f, 0.0f,   color1.darker(),  
      getHeight(), color2.darker()));
       g2.fillRect(clip.x, clip.y, clip.width, clip.height);

 }


public Color getColor1() {return color1;}  
 public void setColor1(Color color1) {this.color1 =  color1;}  
  public Color getColor2() {return color2;}  
 public void setColor2(Color color2){this.color2 = color2;}

}


Arobavx

#1
Hola, me llamo la atencion tu post y puse a probar un poco, te falto un parametro para el constructor de  GradientPaint


Citarg2.setPaint(new GradientPaint(0.0f, 0.0f, color1.darker(),getWidth(),getHeight(), color2.darker()));


Código (java) [Seleccionar]
import java.awt.*;

import javax.swing.*;
public class NuevoJpanel extends JPanel{
private Color color1 = new Color(255,255,255);
private Color color2 = new Color(0,0,0);
   protected void paintComponent(Graphics g){
    Graphics2D g2 = (Graphics2D) g.create();
          Rectangle clip = g2.getClipBounds();
          float x=getWidth();
          float y=getHeight();
          g2.setPaint(new GradientPaint(0.0f, 0.0f, color1.darker(),getWidth(),getHeight(), color2.darker()));
          g2.fillRect(clip.x, clip.y, clip.width, clip.height);
 }
public Color getColor1() {return color1;}
public void setColor1(Color color1) {this.color1 =  color1;}
public Color getColor2() {return color2;}
public void setColor2(Color color2){this.color2 = color2;}
public static void main(String[] args){
JFrame ventana = new JFrame();
NuevoJpanel panel = new NuevoJpanel();
panel.setVisible(true);
ventana.add(panel);
ventana.setVisible(true);

}
}

le agregue el main solo para probarlo  :rolleyes:
Funciona bien creo que es lo que necesitas
Saludos

Alexis Vargas Arteaga

Gracias amigo me funcionó perfectamente!!!! ;-) ;-) ;-)