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 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
package test;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
public class Test extends JFrame
{
BufferedImage image, copie;
Dessin feuille, apercu;
public Test()
{
super("Test de dessin dans une bufferedImage");
//plein écran
setExtendedState (JFrame.MAXIMIZED_BOTH);
//la taille de la fenêtre réduite
setSize(new Dimension(1200,600));
//on finit l'application en fermant la fenêtre
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuItem item = new JMenuItem("dessiner");
item.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent arg0)
{
dessiner();
}
});
JMenuBar menu = new JMenuBar();
menu.add(item);
setJMenuBar(menu);
JPanel panneau = new JPanel();
feuille = new Dessin(750,"image");
apercu = new Dessin(200,"aperçu");
panneau.add(feuille);
panneau.add(apercu);
image = new BufferedImage(750, 750, BufferedImage.TYPE_INT_RGB);
Graphics2D g = (Graphics2D) image.getGraphics();
g.setColor(Color.YELLOW);
g.fillRect(0, 0, 750, 750);
g.setColor(Color.RED);
g.fillOval(150,300, 50, 25);
copie = copie(image);
this.getContentPane().add(panneau);
setVisible(true);
}
protected void dessiner()
{
feuille.dessiner(image);
apercu.dessiner(image);
}
private BufferedImage copie(BufferedImage source)
{
BufferedImage copie = new BufferedImage(source.getWidth (), source.getHeight (),BufferedImage.TYPE_INT_RGB);
Graphics g = copie.getGraphics ();
g.drawImage(source, 0, 0, source.getWidth(), source.getHeight(), null);
g.dispose ();
return copie ;
}
public static void main(String[] args)
{
//création de l'interface graphique
javax.swing.SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
new Test();
}
});
}
} |
Partager