Looking for java Keywords? Try Ask4Keywords

Java Language Пример 1: Рисование и заливка прямоугольника с использованием Java


пример

Это пример, который печатает прямоугольник и заполняет цвет в прямоугольнике. https://i.stack.imgur.com/dlC5v.jpg введите описание изображения здесь

Большинство методов класса Graphics можно разделить на две основные группы:

  1. Методы рисования и заполнения, позволяющие отображать основные фигуры, текст и изображения
  2. Методы настройки атрибутов, которые влияют на то, как отображается этот рисунок и заполнение

Пример кода. Давайте начнем с небольшого примера рисования прямоугольника и заполнения цвета в нем. Там мы объявляем два класса, один класс - MyPanel, а другой - Test. В классе MyPanel мы используем drawRect () и fillRect () mathods для рисования прямоугольника и заполнения цвета в нем. Мы устанавливаем цвет методом setColor (Color.blue). Во втором классе мы тестируем нашу графику, которая является тестовым классом, мы создаем фрейм и помещаем MyPanel с p = новым объектом MyPanel () в нем. При запуске Test Class мы видим прямоугольник и синий цветный прямоугольник.

Первый класс: MyPanel

import javax.swing.*;
import java.awt.*;
// MyPanel extends JPanel, which will eventually be placed in a JFrame
public class MyPanel extends JPanel { 
    // custom painting is performed by the paintComponent method
    @Override
    public void paintComponent(Graphics g){
        // clear the previous painting
        super.paintComponent(g);
        // cast Graphics to Graphics2D
        Graphics2D g2 = (Graphics2D) g;
        g2.setColor(Color.red); // sets Graphics2D color
        // draw the rectangle
        g2.drawRect(0,0,100,100); // drawRect(x-position, y-position, width, height)
        g2.setColor(Color.blue);
        g2.fillRect(200,0,100,100); // fill new rectangle with color blue
    } 
}

Второй класс: тест

import javax.swing.;
import java.awt.;    
public class Test { //the Class by which we display our rectangle    
    JFrame f;    
    MyPanel p;    
    public Test(){    
        f = new JFrame();    
        // get the content area of Panel.    
        Container c = f.getContentPane();    
        // set the LayoutManager
        c.setLayout(new BorderLayout());        
        p = new MyPanel();    
        // add MyPanel object into container    
        c.add(p); 
        // set the size of the JFrame
        f.setSize(400,400);    
        // make the JFrame visible
        f.setVisible(true);    
        // sets close behavior; EXIT_ON_CLOSE invokes System.exit(0) on closing the JFrame
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    
    }       
    
    public static void main(String args[ ]){    
        Test t = new Test();     
    } 
}

Дополнительные пояснения относительно макета границы: https://docs.oracle.com/javase/tutorial/uiswing/layout/border.html

paintComponent ()

  • Это основной метод рисования
  • По умолчанию он сначала рисует фон
  • После этого он выполняет обычную роспись (круг рисования, прямоугольники и т. Д.),

Graphic2D относится к классу Graphic2D

Примечание . Java 2D API позволяет вам легко выполнять следующие задачи:

  • Рисуйте линии, прямоугольники и любую другую геометрическую форму.
  • Заполните эти фигуры сплошными цветами или градиентами и текстурами.
  • Нарисуйте текст с опциями для тонкого контроля над шрифтом и процессом рендеринга.
  • Нарисуйте изображения, опционально применяя операции фильтрации.
  • Применяйте операции, такие как компоновка и преобразование во время любой из вышеперечисленных операций рендеринга.