2011-06-14 45 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);