¿Objeto Jframe en clase Canvas?
Hola a todos soy nuevo miembro en este foro y me uní a la comunidad para aprender un poco más de este lenguaje bueno a lo que voy....
tengo esta clase :
public int x1,y1;
public int wakawaka;
String s;
LienzoAnimacion(){
x1=25;
y1=150;
wakawaka=300;
this.addMouseListener(this);
setBackground(Color.RED);
}
public void paint(Graphics c){
Graphics2D c2=(Graphics2D)c;
c2.setStroke(new BasicStroke(2.0f));
c.setColor(new Color(12,45,78));
c.fillOval(x1, y1, 100, 100);
c.setColor(new Color(89,123,45));
c.drawOval(x1, y1, 100, 100);
c.setColor(new Color(200,134,43));
c.setFont(new Font("Arial",Font.BOLD,40));
c.drawString("HELLO WORLD", wakawaka, 250);
}
@Override
public void mouseClicked(MouseEvent e) {
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
}
<code>
y tengo esta ventana :
<code>
public class VentanaAplicacion extends javax.swing.JFrame {
LienzoAnimacion la=new LienzoAnimacion();
Timer animacion,v;
boolean x,y,mx,my;
/**
* Creates new form VentanaAplicacion
*/
public VentanaAplicacion() {
initComponents();
x=false ;
y=true;
la.setSize(400, 265);
la.setLocation(1, 35);
add(la);
<code>
Bueno iré al grano, lo que quiero hacer es crear un objeto de la clase VentanaAplicacion() para asi poder obtener acceso a los componentes y funciones el JFrame pero... El programa se cicla al hacer esto ya que como estoy agregando a Lienzo() y creo el objeto Lienzo en la ventana pues este vuelve a crear un Jframe que asu vez crea otro lienzo y asi por eso se cicla, ocupo un tipo puntero o apuntador para poder manejar esto o no se como lo vean gracias de antemano a todos
- aalekxz's blog
- Inicie sesión o regístrese para enviar comentarios
Comentarios
:P
ayudenme porfis
Yo no entendí
Qué quieres lograr? pintar algo en el JFrame? o a qué te refieres con "poder obtener acceso a los componentes y funciones el JFrame"?
Ciclar?
Pues yo no veo en que parte de la clase LienzoAnimacion este creando un JFrame para la ventana "principal", por que dices que se cicla? En que momento haces visible el JFrame?
Estoy en el mismo curso que aalekxz
Se tienen dos clases separadas
LienzoAnimacion <--- Canvas
AnimacionVentana <------JFrame
El JFrame manda llamar al Canvas por medio de un objeto:
LienzoAnimacion l= new LienzoAnimacion();
Se necesita que en LienzoAnimacion se haga lo mismo (mandar llamar) pero por medio de un apuntador, ya que si creamos un nuevo objeto tipo AnimacionVentana dentro de LienzoAnimacion simplemente "truena", todo esto para acceder a las propiedades de la ventana (Titulo, posición, etc) desde LienzoAnimacion..
Algo así... xD
Y no sería más fácil que
Y no sería más fácil que tuvieras una propiedad de tipo
JFrame
y en el constructor deLienzoAnimacion
le pasaras una referencia delJFrame
del que quieres tomar las propiedades?Algo así:
public LienzoAnimacion(JFrame jFrame){
this.jFrame = jFrame;
}
Y ya con éso ya podrías hacer lo que necesitas ( espero haber entendido bien).