begin process at 2012 02 16 11:29:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

 > 

 > 

un graphique permanent dans un JPanel (déburant)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

un graphique permanent dans un JPanel (déburant)

mercredi 1 mars 2006 à 15:46:54 | un graphique permanent dans un JPanel (déburant)

budhax

le graphique s'efface derrière un menu ou une autre fenêtre. comment garde le graphique permanent. l'énoncé de l'exercice donne cet indice:

Image img=new BufferedImage(200,200,BufferedImage.TYPE_INT_RGB);
Graphics imgGraph=img.getGraphics();

public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawImage(img,0,0,this);
}




fichier: DeVinci2.java
-------------------------------------------------



import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.colorchooser.*;
// application de dessin basique
public class DeVinci2 extends JFrame implements MouseMotionListener,ActionListener
{
private int xPrec, yPrec;
private JPanel p;
private JMenu menu;
private JMenuBar menuBar;
private JMenuItem couleurArticle,effacerArticle,quitterArticle;
private Color currCol;
  private JColorChooser tcc;

public static void main(String args[])
{
new DeVinci2();
}

public DeVinci2() {
super("Un petit programme de dessin DeVinci 2");
p=new JPanel();
p.addMouseMotionListener(this);

// instenciation du menu et ses articles
menuBar=new JMenuBar();
setJMenuBar(menuBar);
//p.add(menuBar);
menu=new JMenu("Outils");
couleurArticle=new JMenuItem("Couleur...");
menu.add(couleurArticle);
couleurArticle.addActionListener(this);
effacerArticle=new JMenuItem("Effacer");
menu.add(effacerArticle);
effacerArticle.addActionListener(this);
menu.addSeparator();
quitterArticle=new JMenuItem("Quitter");
menu.add(quitterArticle);
quitterArticle.addActionListener(this);
menuBar.add(menu);

//Set up color chooser for setting text color
//tcc = new JColorChooser(banner.getForeground());
tcc = new JColorChooser(Color.BLUE);
//tcc.getSelectionModel().addChangeListener(this);
tcc.setBorder(BorderFactory.createTitledBorder("Choose Text Color"));
//tcc.setVisible(false);

this.getContentPane().add(p);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(600,600);
//this.pack();
this.setLocationRelativeTo(null);
this.setVisible(true);
}

// méthode de l'interface (MouseMotionListener) implementée par la classe courrante
// elle DOIT donc être déclarée
// elle définit les actions à executer par l'écouteur au moment des événements capturés
public void mouseDragged(MouseEvent e) { // le curseur est glissé (avec un bouton enfoncé)
Graphics g=p.getGraphics();
g.setColor(this.currCol);
g.drawLine(xPrec, yPrec,e.getX(),e.getY()); // trace une ligne entre 2 porsistion du curseur enfoncé
this.mouseMoved(e);
}

// définit les actions à executer quand le bouton (gauche ou droite) de la souris est relaché
public void mouseMoved(MouseEvent e) { // le curseur est déplacé
xPrec=e.getX(); // capture de la position X du curseur
yPrec=e.getY(); // capture de la position Y du curseur
}

// on définit les actions à executer par l'écouteur au moment des événements capturés
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(this.couleurArticle)) {
// affiche un dialogue de selection d'une couleur
this.currCol=this.tcc.showDialog(couleurArticle,"choisir une couleur",this.currCol);
}
if (e.getSource().equals(this.effacerArticle)) {
//??? code pour effacer le graphique du JPanel ;
}
if (e.getSource().equals(this.quitterArticle)) {
System.exit(0); // quitte le programme courant
}
}
}


Cette discussion est classée dans : menu, public, private, import, tcc


Répondre à ce message

Sujets en rapport avec ce message

je arrive pas a mettre mes icons dans mon menu [ par laulaut ] voila le code que j'ai mais il a pas de icon devant je comprend pasOption ExplicitPrivate Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) A Private ou Public [ par Niaphron ] Je voudrais savoir si je déclare une variable en Private cela prendra plus de place mémoire qu'une déclaration en public dans un module !Qq peux me do La difference entre Public et Private [ par Linuss ] Je c, je suis 1 nb.Mais ki n'essaie rien n'a ri1.Alors, éske qq pourrait m'expliquer la difference entre la fonction "Public" et "Private" ???ET évent fonctions "static - private - public" [ par deseperate ] Sa quels cas l'utiliser ?Quelle différences entre fonctions private - public - static ? objet vide entre deux fonctions d'import !! Grrr comprends po [ par darkbol ] Bonjour!J'ai créé une appli permettant d'utiliser qq fonctions d'un logiciel extérieur (SURFER, logiciel de carte)... Elle contient 2 forms avec sur c Private / Public ?! [ par Seth77 ] Slu Comment bien utiliser la declaration private ou public ? pour par exemple la declaration de : Private Declare Function GetCursorPos Lib "user32" Changer le type (private public) d'une variable de classe [ par bizibiz17 ] bonjour,Je souhaiterais savoir s'il est possible de modifier le type d'une variable de classe (passer une propriété public en private) si cette variab Api - BackColor (experts) [ par davidauche ] Bah après une galère pour détecter le message WM_CTLCOLORSTATIC (avec une méthode conne mais ça marche :) ).  Maintenant je me trouve devant une autre Private ? Public ou module ? [ par Teclis01 ] Voilà je voudrais savoir dans quel cas declarer des variables  de type public privé ou dans un module pour faire un programme propre Textbox, la suite en plus clair.... [ par darkbol ] oui merciDonc je reprends mon probleme de mise à zéro de mes cases textbox... par un clic sur le bouton RESET.voici la portion de code concernée : O


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales