2013-07-03 1 views
0

Как я могу получить размер компонента при использовании макета для моего фрейма? Я могу только отметить, что я использую BorderLayout для JFrame, и я хочу размер JPanel.Как получить размер компонента при использовании макета для моего фрейма?

+2

Зачем вам нужен размер? Если мы не знаем этого требования, мы не можем сделать предложение. – camickr

+0

[Предпочтительный размер] (http://stackoverflow.com/q/7229226/230513) определяется содержимым и расположением вмещающего контейнера. – trashgod

+0

@camickr Я хочу переопределить функцию рисования, чтобы нарисовать на ней сетку. И я не знаю, сколько линий нужно рисовать, и как долго должны быть линии. Я не хочу, чтобы мой класс ограничивался рамками, созданными вручную. –

ответ

0

Вы можете попробовать JPanel методы, getWidth() и getHeight():

int getWidth(); 
int getHeight(); 

Они возвращают высоту и ширину JPanel.

Вы также можете получить границы в JPanel с использованием метода getBounds():

Rectangle getBounds(); 

Это возвращает Rectangle из границ. Вы можете использовать его для определения местоположения и размера JPanel.

+0

Когда панель помещается в рамку с использованием макета, все упомянутые функции вернут 0. –

+0

вы получаете 0, потому что вы вызываете методы перед тем, как ваш основной кадр визуализируется. вышеупомянутый метод работает только при вызове после setVisible(); или вы можете попробовать метод pack(). – Iftikhar

 Смежные вопросы

  • Нет связанных вопросов^_^