2013-06-08 1 views
7

선 두께를 조절하는 데 문제가 있습니다. Graphics에서 그 작업을 수행 할 수 있습니까? 아니면 Graphics2D에서 처리해야합니까? 그렇다면 프로그램을 실행하기 위해 어떻게 변경합니까?애플릿에 Java Graphics를 사용할 때 선 두께를 늘릴 수 있습니까? BasicStroke가 작동하지 않는다고 생각합니다.

감사합니다.

import java.applet.Applet; 
import java.awt.*; 

public class myAppletNumberOne extends Applet { 
    public void paint (Graphics page) { 
     //Something here??? 
    } 
} 

답변

21

예 당신의 Graphics2D에 그것을해야하지만 스윙의 모든 그래픽 Graphics2D 객체가 (그것은 단지 호환성을 위해 이전 인터페이스를 유지)이기 때문에 즉, 거의 문제가 없습니다.

public void paintComponent(Graphics g) { 

    super.paintComponent(g); 
    Graphics2D g2 = (Graphics2D) g; 
    g2.setStroke(new BasicStroke(3)); 
    g2.drawLine(...); //thick 
    ... 

} 

당신이 볼 수 있듯이

는 g2.setStroke (...)는 스트로크를 변경할 수 있습니다, 쉽게 라인을 제공하는 BasicStroke에이 선택 폭도있다.

+0

super.paintCompontent (g)를 사용하지 않고했습니다. – user2465406

+1

수퍼 콜을하지 않는 위험에는 색상, 아이콘, 투명 필름 등의 모양과 느낌을 가능한 한 적절하게 포함하여 하위 분류 된 구성 요소를 사용하지 않는 것이 포함됩니다. 예, 작동하지만 확율이 작동하지 않습니다. 아직 테스트하지 않은 많은 시나리오에서 –

+1

@EdwinBuck'paintComponent()'메소드를 가지고 있어야합니까, 아니면'paint()'메소드에서 이것을 할 수 있습니까? 인수는 동일합니다. 어떤 종류의 위험이 있습니까? – Ungeheuer