2012-11-28 2 views
0

내 그래프의 내 눈금에 내 해시 마크를 표시하고 싶지만 글꼴 크기를 1로 사용하면 커다란 방법입니다! 글꼴 크기를 1보다 작게 만들 수있는 방법이 있습니까? 내가 코딩하는 방법으로 뭔가 빠졌는가?글꼴 크기를 1보다 작게 만들기 Java GUI

다음은 격자를 생성하고 해시에 레이블을 넣으려는 코드입니다.

 for (double k = myStart1; k <= myEnd1; k = k + (myEnd1 - myStart1)/8) { 
    g2.setColor(Color.BLACK); 
     g2.draw(new Line2D.Double(k, (max - min)/60, k, -(max - min)/60)); 
     String labelx=String.valueOf(k); 
     Float xCo=Float.parseFloat(Double.toString(k)); 
     g2.setFont(new Font("SansSerif",Font.PLAIN,1)); 
     g2.drawString(labelx, xCo, 0); 
    } 

다음은 x^2에서 생성 한 그래프의 스크린 샷입니다. 내가 이미 언급 한 확신으로 enter image description here

+0

이것은 의미가 없습니다. 글꼴 크기 1은 판독 할 수 없으므로 1 미만은 읽을 수없는 것보다 적습니다. 글꼴을 올바르게 설정 했습니까? –

+0

나는 그것이 내 마음이 날아간 이유에 동의한다. –

+2

나는 당신이 버그가 있다고 의심하고 아마도 "SansSerif"라는 글꼴이 없다고 생각한다. 'g2.setFont (new Font (Font.SANS_SERIF, Font.PLAIN, 1));) 시도 했습니까? –

답변

5

는 글꼴 생성자는 size에 대한 int 효과적으로 size 0 사이를 갖고있는 (적어도,이 방법을 사용하여) 글꼴의 건설을 불가능 렌더링 파라미터 유효합니다

공공 글꼴 deriveFont (플로트 크기)

: 내가 한 1

그러나, 특히 흥미로운 Font 클래스의 deriveFont 방법을 찾을 수3210

현재 Font 객체를 복제하고 새로운 크기를 적용하여 새 Font 객체를 작성합니다.

매개 변수 : 크기 - 새 글꼴의 크기입니다.

Font theFont = new Font("SansSerif",Font.PLAIN,1); 
theFont = theFont.deriveFont(0.5); 
g2.setFont(theFont); 

결과 :

지정된 사이즈로 새로운 폰트를 구성 주장 deriveFont 방법은,이 같은 것을 할 수있을 따라서 파라미터 유효 같은 float 소요 크기가 0.5 인 글꼴

이제는 직접 테스트 해 보지 않았습니다. 그래픽 프로그램을 설정하는 데 시간이 걸리므로 나보다 더 나은 위치에 서 있습니다. 하지만 그걸 가능성 밖에서 던지기 만하면 돼.

+1

당신은 지구를 걷는 가장 위대한 인간입니다. –

+0

듣기 좋게 기쁘다 - 행복한 코딩, 좋은 동료! –

+0

글꼴은 런타임에 변환 할 수도 있습니다. 예제는 [이 답변] (http://stackoverflow.com/a/13440543/418556)을 참조하십시오. –

관련 문제