【发布时间】:2016-12-07 02:21:19
【问题描述】:
我有一个 java 程序,我从带有网格的 JPanel 上的文本文件中绘制每个字符(在它自己的框架中)。
每个字符都在自己的框架中,但是当涉及到制表符时,就会出现问题。我尝试用 8 个空格替换所有制表符,但问题是(如上图所示)它会出现不一致,因为制表符并不总是 8 个字符长。 有没有办法计算一个标签使用了多少个“空格”?或者有什么其他建议可以让我获得与文本文件中相同的布局?
绘制文字代码:
g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
Font font = new Font("monospaced", Font.PLAIN, 18);
g2.setColor(Color.BLACK);
g2.setFont(font);
String lines[] = LabAgentComponent.PASTE.split("\\r?\\n");
for (int i=0; i<lines.length; i++) {
for(int j=0; j<lines[i].length(); j++) {
g2.drawString(Character.toString(lines[i].charAt(j)), j * gridSize, (i+1) * gridSize);
}
}
【问题讨论】: