2012-06-22 1 views
1

Я пытаюсь сделать очень простой и грубый графический материал с Java (преднамеренно грубый и простой, поскольку он эмулирует вычислительную среду с 1980/1981).Головная работа над графикой Java

Java-(Groovy на самом деле) код работает некоторый очень простой BASIC:

10 REM Testing Plotting 
20 FOR X = 0 TO 31 
30 LET Y = SIN(X/10) 
40 PLOT (X, 11 - Y * 11) 
50 NEXT X 

земля предоставляется в Java/Groovy, как это:

grafix = textArea.getGraphics() 

    .... 
def plot(def x, def y) 
{ 
    grafix.fillRect(x * 20 as Integer, y * 20 as Integer, 20, 20) 
} 

Теперь код работает после того, как мода - Я коротко вижу, что на экране вспыхивает синусоидальная кривая, но она исчезает почти мгновенно (предположительно при следующей перерисовке текстовой области). Как я могу заставить графику оставаться там - единственный способ, который я могу придумать, - это сохранить графики (и беспорядки) в списке, а затем «сыграть» каждую краску, но это кажется весьма экстремальным решением.

ответ

3
textArea.getGraphics() 

Не делайте этого. Экземпляр графики мгновен. Вместо этого покрасьте компонент, когда ему будет предложено сделать это (путем переопределения paintComponent(Graphics)).

+0

Это показывает общую идею http://stackoverflow.com/questions/1722242/adding-a-watermark-to-a-jtextarea –

+0

Не уверен, что любое из этих предложений работает с динамической средой - я хочу иметь возможность измените графику, так как изменения BASIC – adrianmcmenamin

+1

Да, просто нарисуйте графику в paintComponent и переименуйте вызов() на свой компонент –

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

  • Нет связанных вопросов^_^