2010-05-15 2 views
66

Я хочу увеличить ширину линии Line2D. Я не мог найти никакого способа сделать это. Нужно ли мне на самом деле сделать небольшой прямоугольник для этой цели?Java2D: Увеличьте ширину линии

ответ

139

Вы должны использовать setStroke, чтобы установить ход объекта Graphics2D.

В примере на странице http://www.java2s.com приведены примеры кода.

Следующий код создает изображение ниже: (.. Обратите внимание, что метод setStroke не доступен в Graphics объекта Вы должны бросить его на Graphics2D объекта)

import java.awt.*; 
import java.awt.geom.Line2D; 
import javax.swing.*; 

public class FrameTest { 
    public static void main(String[] args) { 
     JFrame jf = new JFrame("Demo"); 
     Container cp = jf.getContentPane(); 
     cp.add(new JComponent() { 
      public void paintComponent(Graphics g) { 
       Graphics2D g2 = (Graphics2D) g; 
       g2.setStroke(new BasicStroke(10)); 
       g2.draw(new Line2D.Float(30, 20, 80, 90)); 
      } 
     }); 
     jf.setSize(300, 200); 
     jf.setVisible(true); 
    } 
} 

enter image description here


Это сообщение было переписано как статья here.

+24

+1 для иллюстрации! Также рассмотрим 'g2.setRenderingHint (RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON)' – trashgod

+1

Да. Хорошая точка зрения. – aioobe

Смежные вопросы