Подтолкнуть компоненты, управляемые Gridbaglayout, в одну сторонуJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Подтолкнуть компоненты, управляемые Gridbaglayout, в одну сторону

Сообщение Anonymous »

Моя розовая метка расположена прямо в середине оставшегося горизонтального пространства. Я просто хочу их обоих слева.

Код: Выделить всё

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.WindowConstants;
import java.awt.Color;
import java.awt.Container;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;

public class GridBagLayoutDemo {

public static void main(String[] args) {
Container mainPanel = createMainPanel();
JFrame frame = new JFrame("GridBagLayout Demo");
frame.setContentPane(mainPanel);
frame.setLocationRelativeTo(null);
frame.pack();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setVisible(true);
}

private static Container createMainPanel() {
JPanel panel = new JPanel(new GridBagLayout());
GridBagConstraints constraints = new GridBagConstraints();
constraints.anchor = GridBagConstraints.WEST; // which, I figure, means LEFT in plain English
constraints.weightx = 1;
constraints.weighty = 1;
constraints.fill = GridBagConstraints.VERTICAL;
panel.add(createLabelOne(), constraints);
panel.add(createLabelTwo(), constraints);
return panel;
}

private static JLabel createLabelOne() {
JLabel label = new JLabel("Test label 1");
label.setOpaque(true);
label.setBackground(Color.LIGHT_GRAY);
return label;
}

private static JLabel createLabelTwo() {
JLabel label = new JLabel("Test label 2");
label.setOpaque(true);
label.setBackground(Color.PINK);
return label;
}
}

Мне нужна вертикальная заполнение, так что я не могу использовать Flowlayout или boxlayout . PrettyPrint-Override ">

Код: Выделить всё

    private static Container createMainPanel() {
JPanel panel = new JPanel();
BoxLayout layout = new BoxLayout(panel, BoxLayout.X_AXIS);
panel.setLayout(layout);
panel.add(createLabelOne());
panel.add(createLabelTwo());
panel.add(Box.createGlue());
return panel;
}

В основном мне нужно эффективно объединить вертикальное заполнение на первом экране с горизонтальным положением на втором экране. Java 8.

Подробнее здесь: https://stackoverflow.com/questions/796 ... o-one-side
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Weblogic: Bean-компоненты, управляемые сообщениями, в файле войны не отображаются в Weblogic 14.1.1.
    Гость » » в форуме JAVA
    0 Ответы
    117 Просмотры
    Последнее сообщение Гость
  • Как использовать отложенные компоненты в Flutter (с акцентом на компоненты только для активов)?
    Anonymous » » в форуме Android
    0 Ответы
    0 Просмотры
    Последнее сообщение Anonymous
  • Персонаж проходит через стену в одну сторону, но не в другую.
    Anonymous » » в форуме CSS
    0 Ответы
    63 Просмотры
    Последнее сообщение Anonymous
  • Эффект согласованной геометрии в одну сторону
    Anonymous » » в форуме IOS
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous
  • CSS3 Преобразование наклона в одну сторону
    Anonymous » » в форуме CSS
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»