Не относится только к drawString
, но в целом, если вы хотите напечатать наборы строк, отформатированных в фиксированную ширину, вы можете просто сгенерировать каждую строку в виде строки, объединяя там поля с необходимым количеством пробелов между ними. Код будет выглядеть примерно так:
String[] makeLines(String[] labels, String[] data, int width){
String[] lines=new String[labels.length];
StringBuilder spaces=new StringBuilder();
for(int i=0;i<width;i++)
spaces.append(" ");
for (int i=0;i<labels.length;i++){
lines[i]=labels[i]+spaces.substring(0,width-data[i].length()-labels[i].length())+data[i];
}
return lines;
}
Редактировать: Как указывал Лоуренс Гонсалвес, это работает только для шрифтов фиксированного размера.