Probleme debutant java

Fermé
zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019 - Modifié par KX le 7/03/2017 à 22:10
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 9 mars 2017 à 19:02
salut ! je suis débutant en programmation java et je voudrais dessiner un petit carré bleu. j'ai donc une class main et une class panel :

class main :
package test;

import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class test {

 public static void main(String[] args) {
  JFrame frame = new JFrame("test de titre"); 
  frame.setVisible(true);
  frame.setSize(800, 500);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setLocationRelativeTo(null);
  frame.getContentPane().setBackground( Color.red );
  JPanel panel = new JPanel();
  frame.add(panel);
  panel.setBackground(Color.red); // tout le fond est bien rouge
 }
}

class panel :
package test;

import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;

public class panel extends JPanel{
 public void paintComponent(Graphics g){
  g.setColor(Color.red);
  g.fillRect(0, 0, 100, 100);
 }
}

merci d'avance :}
Zeelox(TM) | Graphic Designer
A voir également:

2 réponses

KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
7 mars 2017 à 22:14
Bonjour,

Il ne te manque pas grand chose...
  • dans test, ligne 16, ce n'est pas un JPanel que tu dois créer mais un panel (la classe qui dessine le carré)
  • dans panel, ligne 9, tu dois mettre color.blue si tu veux un carré bleu...
  • dans panel, paintComponent surcharge JPanel donc il faut que tu appelles la méthode de la classe mère sinon tu vas perdre une partie du comportement.

public class panel extends JPanel {
    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.setColor(Color.blue);
        g.fillRect(0, 0, 100, 100);
    }
}
0
zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019
7 mars 2017 à 22:22
j'ai tout corrigé y compris pour le blue mdr ( en vrai jmen fou un peu que ce soit bleu ou rouge ) mais j'ai une erreur :

j'ai mit sa ligne 16 :
Panel panel = new Panel();


et j'ai ceci :
Description Resource Path Location Type
Panel cannot be resolved to a type test.java /test/src/test line 16 Java Problem

du coup j'importe le truc mais ça ne marche toujours pas

merci a toi

Zeelox(TM) | Graphic Designer
0
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
7 mars 2017 à 23:00
C'est parce que tu as nommé ta classe
panel
avec un p minuscule.

Donc au choix :
  • tu renommes
    class panel
    en
    class Panel
    .
  • tu modifies le constructeur
    new Panel()
    en
    new panel()
    .
0
zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019 > KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024
9 mars 2017 à 16:21
j'essaie ça de suite merci beaucoup :)
0
zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019 > zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019
9 mars 2017 à 16:32
ça ne fonctionne toujours pas, aucun carré.
mon code :
package test;

import java.awt.Color;
import java.awt.Panel;

import javax.swing.JFrame;

public class test {

	public static void main(String[] args) {
		JFrame frame = new JFrame("test de titre");	
		frame.setVisible(true);
		frame.setSize(800, 500);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setLocationRelativeTo(null);
		frame.getContentPane().setBackground( Color.red );
		Panel panel = new Panel();
		frame.setContentPane(panel);
		panel.setBackground(Color.red); // tout le fond est bien rouge
	}
}
0
zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019 > zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019
9 mars 2017 à 16:33
et l'autre class si besoin
package test;

import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;

public class panel extends JPanel{
	public void paintComponent(Graphics g) {
        super.paintComponent(g);
		g.setColor(Color.blue);
		g.fillRect(0, 0, 100, 100);
	}
}
0
zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019 > zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019
9 mars 2017 à 16:35
et j'aimerais savoir la difference entre panel et JPanel histoire d'être éclairé sur mon erreur. merci :)
0