Простая математика. У нас есть объект, который будет центрирован, и область, где он должен быть центрирован. Ширина
Объект - ш высоты
Object - ч
ширина Площадь - Aw
Высота Площадь - аН
// координаты центра Follow координаты, где верхний левый угол должен быть размещен для того, чтобы объект находился в центре
центрWidth = (aW - W)/2
centerHeight = (aH - H)/2
Как вы можете видеть, вы ДОЛЖНЫ знать метрики области, на которую вы размещаете свой объект! Если эта область является только экраном, то размер экрана можно использовать следующим образом.
//Some dummy object metrics
int w = 30;
int h = 60;
//Now we find out the area metrics
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int aW = screenSize.width;
int aH = screenSize.height;
//Apply our common formula
int centerWidth = (aW - w)/2;
int centerHeight = (aH - h) /2;
Это хорошо подходит для объектов, которые вы знаете (их ширина и высота).
Текст центрирование
Если вы хотите отцентрировать текст, вы можете использовать FontMetrics класс, который позволяет измерить размер текста.
Начнем с просмотра [этого] (http://stackoverflow.com/questions/14284754/java-center-text-in-rectangle/14287270#14287270) – MadProgrammer
строка измеряется точками, в то время как вы рисуете с помощью пикселей, и нет способа нарисовать строку в пикселях, но вы получите рисованную строку в пикселе и нарисуете ее в центре –
Да, вы могли бы центрировать графический объект. Что вы пытаетесь достичь здесь. 'g.drawString (x, y, z)' делает это за вас. Вам нужно, чтобы другие объекты могли быть также центрированы? – blganesh101