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.
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;}
}
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()));
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
Gracias amigo me funcionó perfectamente!!!! ;-) ;-) ;-)