Как потянуть 'биологическую опасность' с колебанием

Я практикую свои способности к колебанию к предстоящему тесту, и пожаренный дал мне идею потянуть знак биологической опасности как это:

сопроводительный текст http://img62.imageshack.us/img62/8372/lab6b.gif

Я мог нарисовать круги с Elipse2D, но затем я так или иначе должен сократить те 3 треугольника. Какие-либо идеи, как я могу сделать это?

7
задан mike_hornbeck 25 April 2010 в 21:20
поделиться

3 ответа

Для этого вы можете использовать Java2D и холст. Вещи, которые вы можете использовать, это Круг и Дуга. У вас должно получиться три дуги по 30 градусов.

Я пробовал использовать простую графику поверх кадра.

Вот попытка

import java.awt.Color;
import java.awt.Graphics;

import javax.swing.JComponent;
import javax.swing.JFrame;

public class Biohazard {
    public static void main(String[] args) {
        new Biohazard();
    }

    public Biohazard() {
        JFrame frame = new JFrame("Biohazard");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(new MyComponent());
        frame.setSize(260, 280);
        frame.setVisible(true);
    }

    public class MyComponent extends JComponent {
        public void paint(Graphics g) {
            int height = 120;
            int width = 120;
            g.setColor(Color.yellow);
            g.fillOval(60, 60, height, width);
            g.setColor(Color.black);
            g.drawOval(60, 60, height, width);

            int swivels = 6;
            int commonx, commony, commonh, commonw;

            for(int i=0;i<swivels;i++){
                commonx = commony = 120-i*10;
                commonh = commonw = i*20;
                g.drawArc(commonx, commony, commonh, commonw, 60 , 60);
                g.drawArc(commonx, commony, commonh, commonw, 180 , 60);
                g.drawArc(commonx, commony, commonh, commonw, 300 , 60);
            }
        }
    }
}

Исходный: исходный код можно найти по адресу http://pastebin.com/HSNFx7Gq

enter image description here

5
ответ дан 7 December 2019 в 03:13
поделиться

Вы можете использовать класс Arc2D , чтобы нарисовать каждую линию, указав параметры start и экстент в градусах.

3
ответ дан 7 December 2019 в 03:13
поделиться

Возможно, это действительно довольно просто (я не уверен, как Swing API обрабатывает строки). Нарисуйте линии, идущие от центра к точкам на окружности круга, и просто пропустите эти части для рисования линий.

1
ответ дан 7 December 2019 в 03:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: