Как мне преобразовать метод .place () в python в java? - PullRequest
3 голосов
/ 21 октября 2011

Я пытаюсь преобразовать мой код Python в Java. Мне нужен графический интерфейс, похожий на python, где я могу использовать widgetname.place(x,y) для размещения объектов в любом месте окна. Я хочу, чтобы иметь возможность указать, где объект находится в окне. Я пробовал GridLayout, GridBagLayout, BoxLayout и FlowLayout. Ни один из них не позволяет мне определять координаты x и y, чтобы размещать мои объекты (текстовые поля, метки, кнопки) там, где я хочу. Мне нужно иметь возможность указать, куда объект попадает на экран, используя координаты x и y.

У кого-нибудь есть идеи?

Ответы [ 3 ]

3 голосов
/ 21 октября 2011

Это можно сделать, установив LayoutManager на null, но это крайне обескураживает именно потому, что оно уничтожает цель макетов, а именно: иметь возможность иметь хорошо выглядящие кадры, независимо от внешнего вида, экрана.разрешение и т. д.

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

2 голосов
/ 22 октября 2011

Существует учебник Swing , который дает краткий пример абсолютно точного позиционирования виджетов.

0 голосов
/ 22 октября 2011

Если вы начинаете использовать LayoutManager, я рекомендую использовать TableLayout, потому что он намного проще и мощнее, чем GridBagLayout.

http://java.sun.com/products/jfc/tsc/articles/tablelayout/

Надеюсь, ваша потребность в абсолютном позиционировании относительно мала, потому чтоне гибкий, если пользователь изменяет размер окна, а ваши компоненты должны изменить свой размер.Если вы пытаетесь построить компонент, который отображает X, Y для рисования графики, вы можете создать подкласс JComponent и переопределить paint ().

...