Автоматическое масштабирование компонентов с помощью Java JFrame

Я пишу на Java с visualswing4eclipse. Моя среда - Eclipse IDE Version: Luna Service Release 2 (4.4.2). Я пытаюсь написать функцию, которая автоматически изменяет размер всех компонентов внутри фрейма, когда пользователь меняет размер окна. Вот код:

private void componentComponentResized(ComponentEvent event) {

    int a=getContentPane().getWidth();
    int b=getContentPane().getHeight();
    Font font1 = new Font(Font.SANS_SERIF, 2, (int) (b*0.05));

    jTextField0.setBounds((int) (a*0.3), (int) (b*0.1), (int) (0.68*a), (int) (0.1*b));
    jLabel0.setBounds((int) (a*0.02), (int) (b*0.1), (int) (a*0.27), (int) (0.1*b));   
//  jLabel0.setFont(font1);
//  jTextField0.setFont(font1);
}

на данный момент setBounds работает правильно, но если я раскомментирую setFont, setBounds перестанет работать, как будто я не писал строки с setBound. Как я могу решить эту проблему?

редактировать: я создал новый GroupLayout, чтобы установить положение компонентов следующим образом:

 private void initComponents() {
 setLayout(new GroupLayout());

Могу ли я использовать этот макет в функции автоматического изменения размера? Если нет, то какой макет является хорошим выбором для меня? Вот вид кадра в базовом размере

0 ответов

Другие вопросы по тегам