Я по-прежнему довольно новичок в java, и у меня возникли проблемы с методом рисования.Java: Измерение в краске
, когда я научиться использовать bufferedimages, я думал, что размеры изображения были откусил относительно размера кадра, так что я проверил это путем изменения размера кадра, чтобы сделать ширину & высоту, кратные 30:
int width = 1020; //34 * 30
int height = 750; //25 * 30
JFrame frame = new JFrame("Test");
GridT testGrid = new GridT();
frame.add(testGrid);
frame.setSize(width, height);
Далее я был метод краски нарисовать сетку 30 на 30 квадратов и, как я подозревал, сетка была обрезана по краям:
(Примечание: линии все тот же col или и тиканье, но может показаться различимым при изменении размера снимка экрана.)
Использует ли краска другой блок измерения, чем JFrame? Если да, то сколько это? Если нет, что я могу делать неправильно?
Вы должны установить размер 'GridT' не' JFrame'. Я предлагаю вам переопределить метод getPreferredSize в вашем «GridT», чтобы вернуть размер, поэтому макеты смогут соответствующим образом изменять размер. –
Вы рисуете на JPanel, переопределяя метод paintComponent. Вы устанавливаете предпочтительный размер JPanel как размер области рисования. Вы упаковываете JFrame. JFrame будет больше, чем ваша область рисования из-за декораций рамки. –