2012-10-20 4 views
2

Можно ли установить фиксированную ширину для JFrame? По крайней мере, следующий код не работает:JFrame фиксированная ширина

import java.awt.Dimension; 
import java.awt.EventQueue; 

import javax.swing.JFrame; 

public final class Main { 

    public static void main(String[] args) { 
     EventQueue.invokeLater(new Runnable() { 
      @Override 
      public void run() { 
       JFrame f = new JFrame(); 
       f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
       f.setSize(500, 500); 
       f.setMinimumSize(new Dimension(500, 0)); 
       f.setMaximumSize(new Dimension(500, Integer.MAX_VALUE)); 
       f.setVisible(true); 
      } 
     }); 
    } 

} 

Минимальная настройка работает, но максимум нет.

+0

для BorderLayout (реализованных в API) ISN Можно установить MaximumSize, – mKorbel

+3

Почему? См. Также это предостережение [пример] (http://stackoverflow.com/a/12532237/230513) относительно удобства использования. – trashgod

+5

Вы можете использовать 'f.setResizable (false);' – Reimeus

ответ

0

Просто установите максимум на значение, которое вы хотите определить. В зависимости ... максимальный размера экрана для или нашей собственной ценность вместо Integer.MAX_VALUE

0

вы можете использовать

Rectangle rc = f.getBounds(); 
rc.width = 500; //set max width 
rc.height = Integer.MAX_VALUE; // set max height 
f.setMaximizedBounds(rc); 

Надеется, что он работает на вас

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