2012-06-29 3 views
5

Java에서 많은 경험이 없지만 단순한 불량과 같은 게임을 작성하여 익숙해 지려고합니다. 다음과 같은 인터페이스를 만드는 방법에 대해 궁금합니다.자바를 사용하는 패널에서 그리드에 ASCII를 표시하는 가장 좋은 방법은 무엇입니까?

A screen from JADE by Thomas Biskup 이와 비슷한 것에 대해 분명한 방법이 있습니까? 자바를 처음 접했을 때 나는 가장 좋은 방법이 무엇인지 모릅니다.

불투명!

감사

의 JDK에서 그런 (단순) 구성 요소가 없습니다
+4

텍스트 모드 텍스트 대신 Swing GUI 응용 프로그램을 작성하십시오. 더 쉬운 결과를 보여줄 것입니다. –

+2

Java는 ASCII가 아닌 유니 코드를 사용합니다. 조심해. –

+0

고마워요, 지금 스윙을 찾고 있습니다. Eclipse에서 작동하는 스윙 창 편집기가 있습니까? 찾을 수있는 모든 것들이 고대 것 같습니다. –

답변

4

- 당신이 색상을 필요로하지 않는 경우 JTextArea에가 (고정 폭 폰트를 설정 한 후) ASCII 아트를 표시하는 데 사용할 수 있습니다. 문자 집합 문제가 발생하지 않도록주의해야합니다 (US-ASCII 7 비트를 사용하지 않는 경우). 컬러 디스플레이를 처리하는 구성 요소 (그리고 아마도 에스 케이프 시퀀스를 본질적으로 콘솔 창을 에뮬레이트 함)를 작성하는 것은 그리 어렵지 않을 것입니다. 그러나 Java로 시작한 경우 환영받지 못하는 문제가 될 수 있습니다.

Java로 게임을 작성하고 ASCII를 시스템 콘솔에 표시 할 수도 있습니다 (게임은 stdout으로 간단하게 출력됩니다).

편집 : 색상 ASCII는 내부 형식을 (단순한) HTML로 변환하여 표시 할 수 있으며 HTML은 JLabel을 사용하여 표시 할 수 있습니다. 아마 가장 우아한 방법은 아니지만 구현하기가 상당히 쉽습니다. (요즘 하드웨어 속도 또한이 접근 방식에 문제가되어서는 안됩니다). 이 접근법은 JLabel.setText()를 사용하고 HTML 태그로 시작하는 문자열을 전달할 수있는 기능을 기반으로합니다. JLabel은 전체 텍스트를 HTML로 해석합니다.

+0

나는 (처음 두 단락을 읽은 후에) 말할 것이다. 단호한 글꼴을 사용하여 HTML로 포맷하고 JLabel에 넣을 수는 없을 것이다. 내가 피하고 싶은 한가지는 다시 그리는 깜박임이다. 이전에 하나의 컨트롤에 모든 것을 표시 할 때 그 문제에 부딪 혔습니다. 이전에는 Java에서 시도하지 않았습니다. 나는 내가 생각할 수있는 것을 고치고 볼 것이다. 감사! –

2

Trystan의 Ascii Panel과 블로그 및 자습서 인 roguelike here을 확인하십시오.

관련 문제