merci !


import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Canvas;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
public class Dessins_CANVAS {
protected Shell shell;
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setSize(751, 476);
Button button = new Button(shell, SWT.PUSH);
button.setLocation(50, 38);
Button btnNewButton = new Button(shell, SWT.NONE);
btnNewButton.setBounds(565, 416, 150, 28);
btnNewButton.setText("Dessiner");
Canvas canvas = new Canvas(shell,SWT.NONE);
canvas.setBounds(20, 10, 720, 400);
final GC myGC=new GC(canvas);
btnNewButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
dessiner();
}
private double xx(double X) {
double resultat= 4.*(X-720.)/720.+2;
return (resultat);
}
private double yy(double Y) {
double ymax=400./720.*2;
double resultat= ymax-2.*ymax/400.*Y;
return(resultat);
}
private void dessiner() {
myGC.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_CYAN));
myGC.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_GREEN));
for (int Y=0;Y<400;Y++) {
for (int X=0;X<720;X++) {
if (Math.pow(xx(X),2)+Math.pow(yy(Y),2)<1) {
myGC.drawPoint(X, Y);
}
}
}
myGC.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
for (int Y=0;Y<400;Y++) {
for (int X=0;X<720;X++) {
if (Math.pow(xx(X),2)+Math.pow(yy(Y),2)<1./2.) {
myGC.drawPoint(X, Y);
}
}
}
}
});
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}
couleur=new Color(display, r,v,b); // r,v et b compris entre 0 et 255
myGC.setForeground(couleur);
canvas.addMouseListener(new MouseListener() {
public void mouseDown(MouseEvent e) {
...
}
public void mouseUp(MouseEvent e) {
...
}
public void mouseDoubleClick(MouseEvent e) {
...
}
});

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 2 invités