Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Toryas en 11 Mayo 2008, 09:40 am



Título: problema: incertar canvas en frame
Publicado por: Toryas en 11 Mayo 2008, 09:40 am
hola pues bn la cosa esque teng un frame y estoy tratando de que al hacer click aparezca un canvas pero el problema que se me genera es el siguiente: que cuendo clickero en cualkier parte no aparece, pero cuandoaprieto aprieto click en cualkierparte y luego en el borde izkierdo de la ventana aparece la imagen del canvas, pero el problema que se borra el contenido dle frame

aki los codigos estan bien ordinarios porque estoyprobando nad amas

Código
  1. public class JuegoTuto {
  2.  
  3.    public static void main(String[] args) {
  4.  
  5.     juegoFrame juego = new juegoFrame();
  6.     juego.show();
  7.  
  8.    }
  9. }

Código
  1.  
  2.  
  3. import java.awt.event.*;
  4. import java.awt.*;
  5.  
  6. public class juegoFrame extends Frame implements MouseListener {
  7. int algo=0;
  8. Carta cartita;
  9.  
  10. public juegoFrame(){
  11. setTitle("lq ogeuJ");
  12. setSize(455,400);
  13. setLocation(400,400);
  14. addMouseListener(this);
  15.  
  16.  
  17. this.addWindowListener(new WindowAdapter(){
  18.  public void windowClosing(WindowEvent we){
  19.   System.exit(0);
  20.   }
  21. });
  22.  
  23. }
  24. private void espaciosDestinados(Graphics g)
  25.    {
  26.        // cartas disponibles
  27.     g.drawRect(30,50,70,95);
  28.  
  29.  
  30.     // las 4 pintas
  31.     g.drawRect(130,50,70,95);
  32.     g.drawRect(205,50,70,95);
  33.     g.drawRect(280,50,70,95);
  34.     g.drawRect(355,50,70,95);
  35.     // reverso
  36.     g.drawRect(30,250,70,95);
  37.     /*if(algo==1){
  38.     g.drawImage(getToolkit().getImage("1.gif"), 0, 0, 70 , 95 , this);
  39.     }*/
  40.    }
  41.  
  42. public void mouseClicked(MouseEvent e){
  43. cartita = new Carta("img\\1.gif");
  44.  
  45. algo=1;
  46. this.add("Center",cartita);
  47. //cartita.repaint();
  48. System.out.println("qwew");
  49. }  
  50. public void mouseEntered(MouseEvent e) {
  51. }
  52. public void mouseExited(MouseEvent e) {
  53. }
  54. public void mousePressed(MouseEvent e) {
  55. }          
  56. public void mouseReleased(MouseEvent e) {
  57. }
  58.    public void paint(Graphics g) {
  59.     espaciosDestinados(g);
  60.    }
  61.  
  62.  
  63. }

Código
  1. import java.awt.*;
  2.  
  3. public class Carta extends Canvas {
  4.  
  5. /* PINTAS:
  6. * 1 = corazon
  7. * 2 = pica
  8. * 3 = trebol
  9. * 4 = diamante
  10. */
  11. int pinta;
  12.  
  13. String carta;
  14.  
  15.    public Carta(String carta) {
  16.     this.carta = carta;
  17.    }
  18.    public void paint( Graphics g ) {
  19.  
  20. g.drawImage(getToolkit().getImage(carta), 0, 0, 70 , 95 , this);
  21.  
  22.       }
  23.  
  24.  
  25. }

porfas si mepudierna decir como se hace que nologro hacer que funke grx


Título: Re: problema: incertar canvas en frame
Publicado por: sirdarckcat en 1 Junio 2008, 10:20 am
uhm.. en Carta te falta definir:
Código
  1. public Dimension getMinimumSize() {
  2. }
  3. public Dimension getPreferredSize() {
  4. }

y en JuegoTuto ponle:
Código
  1. juego.pack();
antes de show.

Saludos!!