Comment mettre sur le graphisme le code de gradientPaint
Bonjour à tous les developpeurs,
Je viens au près de vous pour vous demandez l'aide sur le graphisme en neat beans.
j'ai essaié de mettre les codes de GradientPaint:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.imageio.ImageIO;
import java.awt.*;
import javax.swing.*;
public class Essai extends JPanel {
JFrame fen=new JFrame("Image");
JPanel pan=new JPanel();
JLabel lab=new JLabel("Nom");
public void paint(Graphics mund){
Graphics2D g2d=(Graphics2D)mund;
GradientPaint gp=new GradientPaint(5,0,Color.blue,20,20,Color.red,true);
g2d.setPaint(gp);
g2d.fillRect(0, 0,this.getHeight(), this.getWidth());
}
public Essai(){
fen.setVisible(true);
this.add(new JButton("ok"));
this.add(new JTextField(15));
fen.add(this);
fen.setSize(800, 800);
fen.setResizable(false);
fen.setLocationRelativeTo(null);
}
public static void main(String[]mundele){
new Essai();
}
} |
Pour le mettre dans ceci:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
import java.awt.Dimension;
import javax.swing.JFrame;
public class MundeleOeuvre extends JFrame {
public static void main(String[] args) {
new MundeleOeuvre();
}
private Mundelegraphic pan = new Mundelegraphic();
public MundeleOeuvre() {
this.setTitle("Mundele en oeuvre ");
this.setSize(300, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setContentPane(pan);
this.setVisible(true);
go();
}
private void go() {
// Les coordonnées de départ de notre rond
int x = pan.getPosX(), y = pan.getPosY();
int [] poly=pan.getpoly(), polygo=pan.getpolygo();
// Le booléen pour savoir si l'on recule ou non sur l'axe x
boolean backX = false;
// Le booléen pour savoir si l'on recule ou non sur l'axe y
boolean backY = false;
// Dans cet exemple, j'utilise une boucle while
// Vous verrez qu'elle fonctionne très bien
while (true) {
// Si la coordonnée x est inférieure à 1, on avance
if (x < 1)
backX = false;
// Si la coordonnée x est supérieure à la taille du Panneau
// moins la taille du rond, on recule
if (x > pan.getWidth() - 50)
backX = true;
// Idem pour l'axe y
if (y < 1)
backY = false;
if (y > pan.getHeight() - 50)
backY = true;
// Si on avance, on incrémente la coordonnée
// backX est un booléen, donc !backX revient à écrire
// if (backX == false)
if (!backX)
pan.setPosX(++x);
// Sinon, on décrémente
else
pan.setPosX(--x);
// Idem pour l'axe Y
if (!backY)
pan.setPosY(++y);
else
pan.setPosY(--y);
//if( poly==pan.getWidth()|| polygo==pan.getHeight()){
// pan.setpoly(30);
//}
// On redessine notre Panneau
pan.repaint();
// Comme on dit : la pause s'impose ! Ici, trois millièmes de
// seconde
try {
Thread.sleep(20);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
} |
Mais je n'ai pas pu.
je vous prie de m'aider mes frères