Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Disegnare su Panel
Forum - Java - Disegnare su Panel

Avatar
Franck (Normal User)
Rookie


Messaggi: 43
Iscritto: 06/07/2010

Segnala al moderatore
Postato alle 18:55
Mercoledì, 11/04/2012
Ciao a tutti, sto sviluppando un programma con 2 panelli uno con dei pulsanti e uno dove dovrei disegnare, esempio scrivere la frase "Hello"...

Nel costruttore ho messo cosi:
Codice sorgente - presumibilmente Plain Text

  1. c.add(new Drawing());



Codice sorgente - presumibilmente Java

  1. class Drawing extends JPanel{
  2. public void paintComponent(Graphics g){
  3. super.paintComponent(g);
  4. g.setColor(Color.yellow);
  5. g.drawString("Hello",50,50);
  6. }}



Sapete dirmi dove sbaglio...

Ultima modifica effettuata da Franck il 11/04/2012 alle 18:56
PM Quote
Avatar
Bonny (Member)
Expert


Messaggi: 437
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 22:08
Mercoledì, 11/04/2012
Nel costruttore di quale classe ?!?!?!
cosa non funziona !?!?!?

PM Quote
Avatar
Franck (Normal User)
Rookie


Messaggi: 43
Iscritto: 06/07/2010

Segnala al moderatore
Postato alle 17:39
Venerdì, 13/04/2012
Ti posto il mio codice:
Codice sorgente - presumibilmente Java

  1. public class Main{
  2. public static void main(String[] args){
  3. Imp f = new Imp();
  4. f.setTitle("Main");
  5. f.setSize(500,500);
  6. f.setVisible(true);
  7. f.setResizable(false);
  8. f.setLocationRelativeTo(null);
  9. }}



Codice sorgente - presumibilmente Java

  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4.  
  5. class MyDrawing extends JPanel{
  6. public void paintComponent(Graphics g){
  7. super.paintComponent(g);
  8. //repaint();
  9. g.setColor(Color.yellow);
  10. g.drawString("Hello",50,50);
  11. }}
  12.  
  13. public class Imp extends JFrame{
  14. Panel c = new Panel();
  15. JPanel d = new JPanel();
  16. JButton start = new JButton("Hello");
  17.  
  18. public Imp(){
  19. start.setFocusPainted(false);
  20.  
  21. c.add(new MyDrawing());
  22. c.setBackground(Color.red);
  23.  
  24. d.add(start);
  25.  
  26. this.getContentPane().add(c,java.awt.BorderLayout.CENTER);
  27. this.getContentPane().add(d,java.awt.BorderLayout.EAST);
  28. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  29. }
  30.  
  31. }


Nel panel C vorrei poter far comparire la scritta "Hello"... :)

Ultima modifica effettuata da Franck il 13/04/2012 alle 17:40
PM Quote
Avatar
Bonny (Member)
Expert


Messaggi: 437
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 9:39
Sabato, 14/04/2012
devi dare una dimensioni a Drawing non vedi che si vede piccolissimo:)

Codice sorgente - presumibilmente Java

  1. import java.awt.Color;
  2. import java.awt.Dimension;
  3. import java.awt.Graphics;
  4. import javax.swing.JPanel;
  5.  
  6. class MyDrawing extends JPanel {
  7.  
  8.     public MyDrawing() {
  9.         this.setPreferredSize(new Dimension(400, 400));
  10.     }
  11.  
  12.     @Override
  13.     public void paintComponent(Graphics g) {
  14.         super.paintComponent(g);
  15.         g.setColor(Color.yellow);
  16.         g.drawString("Hello", 50, 50);
  17.     }
  18. }


prova vedrai che funziona comunque ogni classe in un file diverso;)

PM Quote
Avatar
Franck (Normal User)
Rookie


Messaggi: 43
Iscritto: 06/07/2010

Segnala al moderatore
Postato alle 14:12
Sabato, 14/04/2012
Ma non mi prende tutto il panello, poi come sfondo è bianco... :(

Ultima modifica effettuata da Franck il 14/04/2012 alle 14:17
PM Quote
Avatar
Bonny (Member)
Expert


Messaggi: 437
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 16:57
Sabato, 14/04/2012
Boh sinceramente non ho capito cosa vuoi fare .... stai usando un sacco di classi del package swing senza sapere come si usano è normale che ti trovi in difficoltà  devi guardare qualche esempio:
Codice sorgente - presumibilmente Plain Text

  1. http://www.java2s.com/Code/JavaAPI/javax.swing/JPanelpaintComponentGraphicsg.htm


cioè il codice che hai scritto è chiaro:
1)prendi un Jpanel lo estendi e crei MyDrawing (ci disegno una stringa "hello" di colore giallo)
2)prendi un JFrame e gli inserisci dentro due JPanel, il primo con lo sfondo rosso gli inserisci il Drawing
il secondo inserisci un JButton.
Cosa dovrebbe fare questo codice se non questo??

PM Quote
Avatar
Franck (Normal User)
Rookie


Messaggi: 43
Iscritto: 06/07/2010

Segnala al moderatore
Postato alle 9:33
Domenica, 15/04/2012
Ti spiego quello che sto cercando di fare, vorrei creare un gioco tipo snake...
Tipo questo:
http://www.youtube.com/watch?v=DDXfQVCxE60

Vedi nel panel dx ci sono i bottoni, nel panel sx all'inizio appare la scritta "Game paused" e poi il serpente... :)

PM Quote