Przykład pochodzi z "Core Java 2 podstawy"
/**
@version 1.30 2000-05-04
@author Cay Horstmann
*/
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
public class TestRysunku
{
public static void main(String[] args)
{
RamkaRysunku ramka = new RamkaRysunku();
ramka.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ramka.show();
}
}
/**
Ramka, zawierając panel z rysunkiem
*/
class RamkaRysunku extends JFrame
{
public RamkaRysunku()
{
setTitle("TestRysunku");
setSize(SZEROKOSC, WYSOKOSC);
// dołącz panel do ramki
PanelRysunku panel = new PanelRysunku();
Container powZawartosci = getContentPane();
powZawartosci.add(panel);
}
public static final int SZEROKOSC = 400;
public static final int WYSOKOSC = 400;
}
/**
Panel, wyświetlający prostokąty i elipsy.
*/
class PanelRysunku extends JPanel
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
// rysuj prostokąt
double lewyX = 100;
double gornyY = 100;
double szerokosc = 200;
double wysokosc = 150;
Rectangle2D pros = new Rectangle2D.Double(lewyX, gornyY,
szerokosc, wysokosc);
g2.draw(pros);
// rysuj zamkniętą w nim elipsę
Ellipse2D elipsa = new Ellipse2D.Double();
elipsa.setFrame(pros);
g2.draw(elipsa);
// rysuj przekątną
g2.draw(new Line2D.Double(lewyX, gornyY,
lewyX + szerokosc, gornyY + wysokosc));
// rysuj okrąg o środku w tym samym punkcie
double srodekX = pros.getCenterX();
double srodekY = pros.getCenterY();
double promien = 150;
Ellipse2D okrag = new Ellipse2D.Double();
okrag.setFrameFromCenter(srodekX, srodekY,
srodekX + promien, srodekY + promien);
g2.draw(okrag);
}
}
Nie wiem jak go przenieść do Netbeansa, znaczy jak przepisze to ok ale mi chodzi o to, żeby GUI tworzyć edytorem a wtedy nie mam klasy PanelRysunku gdzie przeładowuję funkcje i tutaj się gubię;/