JAVA:替换JTextArea中的字符,给定特定的行和列
问题描述:
我正在编写一个解释Befunge(93)程序的程序。
如您所知,Befunge有特殊的命令'p'。
该命令将一些给定的(通过程序本身)字符放入'codespace'本身,对此我很好奇这个问题。
我已经做好了所有其他事情,包括执行命令'p'。
但我不能让代码空间(我用JTextArea实现)动态地与'p'代码交互。JAVA:替换JTextArea中的字符,给定特定的行和列
我的意思是,当Befunge程序开始运行时,我将JTextArea保存到一个80 * 25的char数组中,并且所有操作都在数组中完成。
'p'命令也仅在内部运行,仅替换阵列上的字符。 (而不是源的JTextArea)
我想以可视化的代码空间的变化,所以我问:
你如何在替换的字符,说(2,3),在JTextArea,与另一个字符?
答
这样的事情可能吗?
void replaceChar(int row, int col, char replaceChar)
{
int lineOffset = jTextArea.getLineStartOffset(row);
jTextArea.replaceRange(new String(replaceCHar), lineOffset + col, lineOffset + col + 1);
}
答
根据javadoc它可能是由
int lineNumber = 2;
int charAtLineOffset = 3;
int offset = area.getLineStartOffset(lineNumber) + charAtLineOffset;
area.replaceRange(new String(newChar), offset , offset + 1);
做什么自动换行? – SLaks 2011-06-14 17:41:23