У меня есть приложение java, где я рисую строку.
Теперь я хотел бы отрегулировать пробел до и после каждого символа, который они подойдут к сетке (каждый символ в их собственном квадрате). Как я могу это сделать? Спасибо за ответ.Заполнение между символами в строке
public class FontTesting extends Applet {
private final int gridSize=20;
public void paint(Graphics g) {
Graphics2D g2d = (Graphics2D)g;
paintBackground(g2d);
String text1 = "atzlipjnmr . . A|";
String text2 = "HHHHHHHHHH . . I|";
String text3 = "WWWWWWWWWW , , 9|";
String text4 = "ATATATATAT |";
Font font = new Font("monospaced", Font.PLAIN, 20);
g2d.setColor(Color.BLACK);
g2d.setFont(font);
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
g2d.drawString(text1, 20, 36);
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
g2d.drawString(text2.toUpperCase(), 20, 56);
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
g2d.drawString(text3.toUpperCase(), 20, 76);
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
g2d.drawString(text4.toUpperCase(), 20, 96);
}
public static void main(String[] args) {
Frame f = new Frame("Antialiased Text Sample");
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
f.add(new FontTesting());
f.setBackground(Color.WHITE);
f.setSize(new Dimension(300, 180));
f.setVisible(true);
}
private void paintBackground(Graphics2D g2){
g2.setPaint(Color.GRAY);
for (int i = 0; i < getSize().width; i += gridSize) {
Shape line = new Line2D.Float(i, 0, i, getSize().height);
g2.draw(line);
}
for (int i = 0; i < getSize().height; i += gridSize) {
Shape line = new Line2D.Float(0, i, getSize().width, i);
g2.draw(line);
}
}
}
Вы можете поделиться нам своим кодом? –