Размер панели меняется с компьютера на компьютер - PullRequest
2 голосов
/ 14 марта 2012

Я разработал пользовательский интерфейс для моего вычислительного программного обеспечения с использованием Swing (Java).Я заметил, что когда я перемещаю программное обеспечение на ноутбук, панели выходят за пределы экрана и имеют некоторые похожие проблемы во вложенных панелях.Это очень затрудняет использование программного обеспечения.Как я могу решить проблему?

Спасибо.

Добавлено: Часть кодов следует:

   public GUI() {

            int width=1200;
            int height=950;
    setTitle("FEM Analysis");
    setSize(width, height);
    setLayout(new BorderLayout());
    setLocation(20, 20);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            .....}

Ответы [ 2 ]

3 голосов
/ 15 марта 2012

То, что вы могли бы рассмотреть (если вы еще не сделали), использует размеры экрана для масштабирования размера панелей между компьютерами с разными разрешениями. Например, если вы объявили ширину и высоту как таковые:

private final int WIDTH = Toolkit.getDefaultToolkit().getScreenSize().getWidth();
private final int HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().getHeight();

Тогда, если вы умножите ширину или высоту на значение, такое как (0,8), вы получите 80% значения.

Вот отличное руководство по использованию разрешения экрана: http://www.devdaily.com/blog/post/jfc-swing/java-swing-faq-how-determine-screen-size-resolution

Надеюсь, это то, что вы искали и помогли ...

0 голосов
/ 16 марта 2012

Возможно, вы захотите использовать pack() в ваших компонентах GUI.Он автоматически сжимает ваш кадр, чтобы он подходил по размеру к содержимому, вместо того чтобы иметь много пустого пространства:

public GUI() {
  // ...
  pack();
}
...