Как установить координаты для компонентов? - PullRequest
1 голос
/ 26 февраля 2012

Я новый пользователь на Swing, и у меня проблема с отрисовкой компонентов по координатам.Пожалуйста, посмотрите на этот код:

    JFrame frame=new JFrame();
    frame.setBounds(new Rectangle(0, 0, 700, 600));
    frame.getContentPane().setBackground(Color.yellow);
    frame.setVisible(true);

    JPanel graph=new JPanel();
    graph.setBounds(new Rectangle(0, 0, 700, 300));
    graph.setBackground(Color.white);
    graph.setOpaque(true);
    frame.getContentPane().add(graph);

Мне нужно, чтобы JPanel закрыл 50% от JFrame, но теперь он закрывается на 100%, а JFrame имеет белый цвет для фона.Как мне исправить ошибку?Кроме того, есть ли какие-либо средства для установки ширины и высоты с использованием процентов?Например, 50% для ширины.Или может быть существуют какие-либо контейнеры для моего вопроса?Спасибо

Ответы [ 2 ]

5 голосов
/ 26 февраля 2012

не используйте whatever#setBound(), используйте Standard LayoutManager , в этом случае GridLayout (2, 0) лучший из способов, как это сделать, ваш JFrame и JPanels можно изменять в обоих направлениях

3 голосов
/ 26 февраля 2012

Если вам действительно нужно абсолютное позиционирование, попробуйте отключить менеджер макетов по умолчанию, как показано в Обойтись без менеджера макетов .Однако в большинстве случаев лучше (в зависимости от того, что должен отображать ваш контейнер) выбрать подходящий менеджер компоновки.

...