Proste operacje graficzne

Wstęp

1. Dodaj klasę HelloPanel dziedziczącą po javax.swing.JPanel. (operacje gui)

2. Dodaj instrukcję

import java.awt.*;

będącą odpowiednikiem

using namespace

 3. Przedefiniuj metodę paint()

 

    public void paint(Graphics g)

    {

        //g.drawString("Hello world", 100,100);

    }

 

Rysowanie prostych wektorów

Przetestuj rysowanie prostych wektorów graficznych…

yj funkcji

drawLine(int x1, int y1, int x2, int y2)

drawOval(int x, int y, int width, int height)

drawRect(int x, int y, int width, int height)

drawPolygon(int[] xPoints, int[] yPoints, int nPoints)

 

Użyj także wersji z wypełnieniem

fillRect(int x, int y, int width, int height)

fillPolygon(int[] xPoints, int[] yPoints, int nPoints)

fillOval(int x, int y, int width, int height)

Kolory

Operacja rysowania jest przeprowadzana z użyciem bieżącego koloru.

Zmień kolory korzystając z predefiniowanych stałych lub tworząc własny nowy kolor.

g.setColor(Color.BLUE);

g.setColor(new Color(255,192,192));

Wyświetlanie tekstów

1. Użyj funkcji

drawString(String str, int x, int y)

do wyświetlenia tekstu

2. Zmień font dla tekstu

Font f=new Font("Helvetica", Font.BOLD,50);

g.setFont(f);

g.drawString("Hello world", 100,100);

Można też tak:

Font f=new Font(Font.SERIF, Font.BOLD | Font.ITALIC,25);

Wyświetlanie bitmap

1. Skopiuj z sieci dowolny obrazek w formacie JPG lub PNG i zapisz go w katalogu

katalog-netbeans/nazwa-projektu/src/nazwa-pakietu/resources

(plik powinien pojawić się w oknie ProjectExplorer)
2. Obrazka nie będziemy ładowali przy każdym wywołaniu funkcji paint(). Należy załadować go tylko raz.

Zadeklaruj

Image img;

jako atrybut klasy

 

Dodaj kod, który ładuje obrazek – najlepiej w konstruktorze

java.net.URL imageAdress = this.getClass().getResource("resources/nazwa_obrazka");

img = this.getToolkit().getImage(imageAdress);

 

3. W metodzie paint() wywołaj funkcję do wyświetlania obrazka

        g.drawImage(img, 0,0, this);

     

            Dimension size=getSize();

            g.drawImage(img, 0,0, size.width,size.height,this);