import java.awt.BasicStroke;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.TexturePaint;
import java.awt.image.BufferedImage;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class SniperTest extends JPanel {
public SniperTest() throws Exception
{
img=ImageIO.read(new URL("http://www.bmlv.gv.at/organisation/regional/stmk/galerie/vollbild/bmlvs-milkdost-03_soldaten.jpg")); //liest das bild von einer url
}
private BufferedImage img;
public void paintComponent(Graphics g)
{
Graphics2D g2d=(Graphics2D)g;
//zuerst alles schwarz ausmalen
g2d.setPaint(Color.BLACK);
g2d.fillRect(0,0,getWidth(),getHeight());
//ein paar Berechnungen durchführen
int centerX=getWidth()/2;
int centerY=getHeight()/2;
int radius=Math.min(getWidth(),getHeight())/2-20;
//den paint setzen und einen kreis zeichnen
g2d.setPaint(new TexturePaint(img,new Rectangle(0,0,img.getWidth(),img.getHeight())));
g2d.fillOval(centerX-radius,centerY-radius,2*radius,2*radius);
//die beiden linien (waagerecht und senkrecht) zeichnen
g2d.setPaint(Color.BLACK);
g2d.setStroke(new BasicStroke(3));
g2d.drawLine(centerX,0,centerX,getHeight());
g2d.drawLine(0,centerY,getWidth(),centerY);
}
public static void main(String args[]) throws Exception
{
//die GUI drumherum erstellen und anzeigen
JFrame frame=new JFrame("Sniper");
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setLayout(new BorderLayout());
frame.getContentPane().add(new SniperTest());
frame.setVisible(true);
}
}