Java AWT - Рисование прямоугольника, линии и круга

Java AWT - Рисование прямоугольника, линии и круга

Библиотекиjava.awt - это набор классов, предоставляемых Java для рисования фигур в окне. Аббревиатура AWT расшифровывается как Abstract Windowing Toolkit. Сегодня библиотека была преобразована в огромный набор классов, который позволяет пользователю создавать целое приложение на основе графического интерфейса. Внешний вид этих классов зависит от платформы, на которой работает приложение.

Самым основным из всех классов является библиотекаjava.awt.geom, которая используется для рисования простых геометрических фигур. В этой статье обсуждается код для рисования простых фигур, таких как прямоугольник, линия, круг и т. Д.

JFrame & JPanel
JFrame иJPanel - классы, принадлежащиеjavax.swing libraries. Библиотека Swing создается поверх стека библиотеки AWT. JFrame - это контейнер, подобный окну, который удерживает вместе различные компоненты в окне. JPanel - это контейнер, который помещается вJFrame и помогает группировать компоненты.

В приведенном ниже коде мы использовалиJFrame иJPanel для удержания наших объектов формы.

Пример рисования AWT

Давайте теперь перейдем к основному предмету рисования фигур с использованием библиотек AWT. Этотpage показывает различные классы, доступные для рисования фигур. Название классов четко объясняет, какие возможные формы можно нарисовать.

DrawShapes.java

package com.example;

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.Shape;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Line2D;
import java.awt.geom.RoundRectangle2D;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class DrawShapes extends JFrame {

    private static final long serialVersionUID = 1L;

    public DrawShapes() {

        setSize(new Dimension(320, 320));
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);

        JPanel p = new JPanel() {
            @Override
            public void paintComponent(Graphics g) {
                Graphics2D g2 = (Graphics2D) g;
                Shape line = new Line2D.Double(3, 3, 303, 303);
                Shape rect = new Rectangle(3, 3, 303, 303);
                Shape circle = new Ellipse2D.Double(100, 100, 100, 100);
                Shape roundRect = new RoundRectangle2D.Double(20, 20, 250, 250, 5, 25);
                g2.draw(line);
                g2.draw(rect);
                g2.draw(circle);
                g2.draw(roundRect);
            }
        };
        setTitle("My Shapes");
        this.getContentPane().add(p);
    }

    public static void main(String arg[]) {

        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                new DrawShapes();
            }
        });
    }

}

Выход:

awt-shapes

Приведенный выше код рисует линию, прямоугольник, круг и прямоугольник с закругленными углами. Аргументы, обычно передаваемые конструкторам, включают координаты, ширину и высоту в случае линейных объектов. В случае округлых форм, таких как Ellipse или Arc, переданные аргументы включают координаты начала координат, ширину и высоту формы. Выполняя код, вывод получается в форме окна, как показано ниже.

Вы можете получить более подробную информацию о различных типах конструкторов и форм, доступных в библиотеках AWT, используя ссылки ниже.