Patrocinado por:
Ir Atrás   LANeros.com / Foro / Software / Programacion y Diseño de Software

 
Herramientas

Viejo agosto 8, 2010   #1
LANero novato (1)
 
Registrado: dic 2009
Mensajes: 18
Estado: Desconectado
Pregunta Problemas con setBackground..

Hola a todos, tengo una aplicación bastante simple en la que me despliega una degradación de colores. El problema consiste en que el fondo del JFrame se me presenta transparente. He intentado colocar el método setBackground(Color c) en diversos lugares sin resultados algunos. Me podrían ayudar en este problemita por favor.

Agradezco de antemano la ayuda brindada. Trabajo en netbeans 6.9.


import java.awt.*;
import javax.swing.*;
import java.awt.geom.Rectangle2D;

public class EJEMPLOCOLORES extends JFrame {
Container contenedor = getContentPane();

public EJEMPLOCOLORES() {
setTitle("**** Bloques de colores. ****");
} // cierre del constructor

public void paint(Graphics g) {
int limit, rojo, verde, azul, alfa;
float s, x, y, ratio;
Graphics2D gd2 = (Graphics2D) g;
// contenedor.setBackground(Color.white);
Dimension dim = getSize();
gd2.translate(dim.width/2, dim.height/2);
Color[] colors = {Color.WHITE, Color.LIGHT_GRAY, Color.GRAY,
Color.DARK_GRAY, Color.BLACK, Color.RED, Color.PINK,
Color.ORANGE, Color.YELLOW, Color.GREEN, Color.MAGENTA,
Color.CYAN, Color.BLUE};
limit = colors.length;
s = 20;
x = -s * limit/2;
y = -s * 3/2;

// Se muestran los colores predefinidos
for(int i = 0; i < limit; i++) {
Rectangle2D rect = new Rectangle2D.Float(x + s * i, y, s, s);
gd2.setColor(colors[i]);
gd2.fill(rect);
}

// Se muestra un gradiente lineal
y += s;
Color c1 = Color.YELLOW;
Color c2 = Color.blue;
for(int i = 0; i < limit; i++) {
ratio = (float)i/(float)limit;
rojo = (int)(c2.getRed() * ratio + c1.getRed() * (1.0 - ratio));
verde = (int)(c2.getGreen() * ratio + c1.getGreen() * (1.0 - ratio));
azul = (int)(c2.getBlue() * ratio + c1.getBlue() * (1.0 - ratio));
Color color = new Color(rojo, verde, azul, 150);
Rectangle2D rect = new Rectangle2D.Float(x + s * i, y, s, s);
gd2.setColor(color);
gd2.fill(rect);
}

// Se muestra un gradiente alfa
y += s;
c1 = Color.RED;
for(int i = 0; i < limit; i++) {
alfa = (int)(255 * (float)i/(float)limit);
Color color = new Color(c1.getRed(), c1.getGreen(), c1.getBlue(), alfa);
Rectangle2D rect = new Rectangle2D.Float(x + s * i, y, s, s);
gd2.setColor(color);
gd2.fill(rect);
}

// Dibujamos un marco alrededor de los cuadrados
gd2.setColor(Color.BLACK);
gd2.draw(new Rectangle2D.Float(x, y - s * 2, s * limit, s * 3));
} // cierre del método paint.

public static void main(String[] args) {
EJEMPLOCOLORES aplicacion = new EJEMPLOCOLORES();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON _CLOSE);
// aplicacion.setBackground(Color.yellow);
aplicacion.setSize(300, 200);
aplicacion.setLocationRelativeTo(null);
aplicacion.setVisible(true);
} // cierre del método main.
} // CIERRE DE EJEMPLOCOLORES
 

Viejo agosto 8, 2010   #2
LANero distinguido (5)
 
Avatar de Sougotsu
 
Registrado: jul 2009
Localidad: Medellín
Mensajes: 360 |
Estado: Desconectado
Tu dices es el rededor de la degradación de colores la que se te ve transparente?, porque si es así, a mí se me ve gris, normal.
Vistas Previas de Adjuntos
Presiona la imagen para ampliar

Nombre:  EJEMPLOCOLORES.JPG
Visitas: 65
Tamaño:  11.2 KB  
 

Viejo agosto 8, 2010   #3
LANero novato (1)
 
Registrado: dic 2009
Mensajes: 18
Estado: Desconectado
Problemas con setBackground

Responder:
Originalmente Escrito por Sougotsu Ver Mensajes
Tu dices es el rededor de la degradación de colores la que se te ve transparente?, porque si es así, a mí se me ve gris, normal.
Estonces es algún problema del compilador que estoy utilizando (netbeans 6.9).

Te agradezco por las observaciones realizadas
 

Viejo agosto 8, 2010   #4
LANero distinguido (5)
 
Avatar de Sougotsu
 
Registrado: jul 2009
Localidad: Medellín
Mensajes: 360 |
Estado: Desconectado
Yo también uso NetBeans 6.9, lo único que le hice a tu código que no me dejaba compilarlo era en aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON _CLOSE); que hay un espacio después de ON y el _, lo quité y compiló bien y sin transparencias que tu mencionas.

Saludos.
 

Herramientas

Reglas de Mensajes
No puedes publicar nuevos temas
No puedes escribir respuestas
No puedes publicar adjuntos
No puedes editar tus mensajes
Código Especial está Activado
Las Caritas son Activado
Código [IMG] está Activado
Código HTML está Desactivado
Trackbacks are Desactivado
Pingbacks are Desactivado
Refbacks are Desactivado


¿Nuevo en el sitio? ¿Buscando Ayuda?

Todas las horas son GMT -5. La hora actual es 01:22 PM.


vBulletin System 3.8.7 - Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122