Je suis débutante en Java. Voici ci-dessous mon code. Il affiche un
petit menu pour dessiner dans une JInternalFrame un rectangle en bleu,
un champ de saisie pour saisir une longueur de ligne et le bouton ok.
Lorsque l'on clique sur le bouton ok, une ligne s'affiche en rouge avec
le paramètre de la longueur saisie.
Mon problème est que lorsque j'iconifie ma JInternalFrame et que je la
ré-ouvre, la ligne rouge disparait. De même, lorsque je sélectionne dans
mon menu dessiner un nouveau rectangle dans une nouvelle JInternalFrame.
Que dois-je modifier dans mon code pour que ma ligne reste affichée ?
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Bonjour,
<p>Je suis débutante en Java. Voici ci-dessous mon code. Il affiche
un petit menu pour dessiner dans une JInternalFrame un rectangle en bleu,
un champ de saisie pour saisir une longueur de ligne et le bouton ok. Lorsque
l'on clique sur le bouton ok, une ligne s'affiche en rouge avec le paramètre
de la longueur saisie.
<p>Mon problème est que lorsque j'iconifie ma JInternalFrame et
que je la ré-ouvre, la ligne rouge disparait. De même, lorsque
je sélectionne dans mon menu dessiner un nouveau rectangle dans
une nouvelle JInternalFrame. Que dois-je modifier dans mon code pour que
ma ligne reste affichée ?
<p>Merci pour votre aide !
<blockquote TYPE=CITE>
<pre>import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.lang.Object.*;
class Rectangle extends JPanel
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.setColor(Color.blue);
g.fillRect(10,10,50,50);
}
}
public void actionPerformed(ActionEvent ev)
{
if (ev.getSource()==ok)
{
String lg= saisie_lg.getText();
int longueur = Integer.parseInt(lg);
dessineLigne ligne = new dessineLigne(G,longueur);
}
}
public class dessineLigne {
public dessineLigne (JPanel G, int lg)
{
Graphics g = G.getGraphics();
g.setColor(Color.red);
g.drawLine(10,200,lg,70);
}
}
}
}
}
public class Menu
{ public static void main (String args[])
{ FenMenu fen= new FenMenu();
fen.setVisible(true);
}
}</pre>
</blockquote>
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Trognon Patrice
Bonjour,
tu dois surcharger la méthode paint(Graphics g), et dans cette méthode pain(g) tu dois afficher ta ligne.
a chaque fois que ces necessaire cette méthode sera invoquée par le framework graphic qui reaffichera donc ta ligne.
bien cordialement,
Patrice Trognon http://www.javadevel.com
Bonjour,
Je suis débutante en Java. Voici ci-dessous mon code. Il affiche un petit menu pour dessiner dans une JInternalFrame un rectangle en bleu, un champ de saisie pour saisir une longueur de ligne et le bouton ok. Lorsque l'on clique sur le bouton ok, une ligne s'affiche en rouge avec le paramètre de la longueur saisie.
Mon problème est que lorsque j'iconifie ma JInternalFrame et que je la ré-ouvre, la ligne rouge disparait. De même, lorsque je sélectionne dans mon menu dessiner un nouveau rectangle dans une nouvelle JInternalFrame. Que dois-je modifier dans mon code pour que ma ligne reste affichée ?
class Rectangle extends JPanel { public void paintComponent(Graphics g) { super.paintComponent(g); g.setColor(Color.blue); g.fillRect(10,10,50,50); } } public void actionPerformed(ActionEvent ev) { if (ev.getSource()==ok) { String lg= saisie_lg.getText(); int longueur >> Integer.parseInt(lg); dessineLigne ligne = new dessineLigne(G,longueur); } }
public class dessineLigne {
public dessineLigne (JPanel G, int lg) { Graphics g = G.getGraphics(); g.setColor(Color.red); g.drawLine(10,200,lg,70); } } } } }
public class Menu { public static void main (String args[]) { FenMenu fen= new FenMenu(); fen.setVisible(true); } }
Bonjour,
tu dois surcharger la méthode paint(Graphics g), et dans cette méthode
pain(g) tu dois afficher ta ligne.
a chaque fois que ces necessaire cette méthode sera invoquée par le
framework graphic qui reaffichera donc ta ligne.
bien cordialement,
Patrice Trognon
http://www.javadevel.com
Bonjour,
Je suis débutante en Java. Voici ci-dessous mon code. Il affiche un
petit menu pour dessiner dans une JInternalFrame un rectangle en bleu,
un champ de saisie pour saisir une longueur de ligne et le bouton ok.
Lorsque l'on clique sur le bouton ok, une ligne s'affiche en rouge avec
le paramètre de la longueur saisie.
Mon problème est que lorsque j'iconifie ma JInternalFrame et que je la
ré-ouvre, la ligne rouge disparait. De même, lorsque je sélectionne dans
mon menu dessiner un nouveau rectangle dans une nouvelle JInternalFrame.
Que dois-je modifier dans mon code pour que ma ligne reste affichée ?
tu dois surcharger la méthode paint(Graphics g), et dans cette méthode pain(g) tu dois afficher ta ligne.
a chaque fois que ces necessaire cette méthode sera invoquée par le framework graphic qui reaffichera donc ta ligne.
bien cordialement,
Patrice Trognon http://www.javadevel.com
Bonjour,
Je suis débutante en Java. Voici ci-dessous mon code. Il affiche un petit menu pour dessiner dans une JInternalFrame un rectangle en bleu, un champ de saisie pour saisir une longueur de ligne et le bouton ok. Lorsque l'on clique sur le bouton ok, une ligne s'affiche en rouge avec le paramètre de la longueur saisie.
Mon problème est que lorsque j'iconifie ma JInternalFrame et que je la ré-ouvre, la ligne rouge disparait. De même, lorsque je sélectionne dans mon menu dessiner un nouveau rectangle dans une nouvelle JInternalFrame. Que dois-je modifier dans mon code pour que ma ligne reste affichée ?
class Rectangle extends JPanel { public void paintComponent(Graphics g) { super.paintComponent(g); g.setColor(Color.blue); g.fillRect(10,10,50,50); } } public void actionPerformed(ActionEvent ev) { if (ev.getSource()==ok) { String lg= saisie_lg.getText(); int longueur >> Integer.parseInt(lg); dessineLigne ligne = new dessineLigne(G,longueur); } }
public class dessineLigne {
public dessineLigne (JPanel G, int lg) { Graphics g = G.getGraphics(); g.setColor(Color.red); g.drawLine(10,200,lg,70); } } } } }
public class Menu { public static void main (String args[]) { FenMenu fen= new FenMenu(); fen.setVisible(true); } }
Sylviane Molinet
Bonjour, merci pour votre réponse. Comment je peut surcharger cette méthode ? Est-ce que je rajoute la méthode paint à ma classe Rectangle comme ci-dessous ?
class Rectangle extends JPanel { public void paintComponent(Graphics g) { super.paintComponent(g); g.setColor(Color.blue); g.fillRect(10,10,50,50); } public void paint(Graphics g, int lg) { g.setColor(Color.red); g.drawLine(100,200,lg,70); } }
mais comment j'appelle cette méthode ?
avec public void actionPerformed(ActionEvent ev) { if (ev.getSource()==ok) { String lg= saisie_lg.getText(); int longueur = Integer.parseInt(lg); G.paint(G,lg); } }
merci de bien vouloir m'aider !
Bonjour,
merci pour votre réponse.
Comment je peut surcharger cette méthode ?
Est-ce que je rajoute la méthode paint à ma classe Rectangle comme ci-dessous ?
class Rectangle extends JPanel
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.setColor(Color.blue);
g.fillRect(10,10,50,50);
}
public void paint(Graphics g, int lg)
{
g.setColor(Color.red);
g.drawLine(100,200,lg,70);
}
}
mais comment j'appelle cette méthode ?
avec
public void actionPerformed(ActionEvent ev)
{
if (ev.getSource()==ok)
{
String lg= saisie_lg.getText();
int longueur = Integer.parseInt(lg);
G.paint(G,lg);
}
}
Bonjour, merci pour votre réponse. Comment je peut surcharger cette méthode ? Est-ce que je rajoute la méthode paint à ma classe Rectangle comme ci-dessous ?
class Rectangle extends JPanel { public void paintComponent(Graphics g) { super.paintComponent(g); g.setColor(Color.blue); g.fillRect(10,10,50,50); } public void paint(Graphics g, int lg) { g.setColor(Color.red); g.drawLine(100,200,lg,70); } }
mais comment j'appelle cette méthode ?
avec public void actionPerformed(ActionEvent ev) { if (ev.getSource()==ok) { String lg= saisie_lg.getText(); int longueur = Integer.parseInt(lg); G.paint(G,lg); } }