2011-06-14 91 views
1

我正在編寫一個解釋Befunge(93)程序的程序。
如您所知,Befunge有特殊的命令'p'。
該命令將一些給定的(通過程序本身)字符放入'codespace'本身,對此我很好奇這個問題。
我已經做好了所有其他事情,包括執行命令'p'。
但我不能讓代碼空間(我用JTextArea實現)動態地與'p'代碼交互。JAVA:替換JTextArea中的字符,給定特定的行和列

我的意思是,當Befunge程序開始運行時,我將JTextArea保存到一個80 * 25的char數組中,並且所有操作都在數組中完成。
'p'命令也僅在內部運行,僅替換陣列上的字符。 (而不是源的JTextArea)

我想以可視化的代碼空間的變化,所以我問:

你如何在替換的字符,說(2,3),在JTextArea,與另一個字符?

+0

做什麼自動換行? – SLaks 2011-06-14 17:41:23

回答

1

這樣的事情可能嗎?

void replaceChar(int row, int col, char replaceChar) 
{ 
    int lineOffset = jTextArea.getLineStartOffset(row); 
    jTextArea.replaceRange(new String(replaceCHar), lineOffset + col, lineOffset + col + 1); 
} 
3

根據javadoc它可能是由

int lineNumber = 2; 
int charAtLineOffset = 3; 

int offset = area.getLineStartOffset(lineNumber) + charAtLineOffset; 
area.replaceRange(new String(newChar), offset , offset + 1);