Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Выравнивание обектов по левому краю


Автор: headzero 6.3.2009, 15:26
хочу что-бы эллементы были привязаны к левому краю и располагалить один за другиим рядом(или с заданным расстоянием). При ресайзе окна эллементы должны быть привязаны к левому краю и х размеры не должны меняться.
Вот мой код. Кнопка "Button" почему-то располагаетья не за кнопокй URL в правом краю. Помогите решить эту проблему. Спасибо
Код

package tabledemo;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;

public class CrawlerUI extends JFrame {
    
    public JTable table;
    
    
    public MyTableModel myTableModel;
    
    public CrawlerUI() {
        GridBagConstraints c;
        getContentPane().setLayout(new BorderLayout());
        setSize(500, 500);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        GridBagLayout gbl = new GridBagLayout();
        c = new GridBagConstraints();
        JPanel btnPanel = new JPanel();
        btnPanel.setBorder(BorderFactory.createTitledBorder("Manage"));
        btnPanel.setLayout(gbl);
        
        c.anchor = GridBagConstraints.NORTHWEST;
        c.gridx = 0;
        c.gridy = 0;
        c.fill = GridBagConstraints.NONE;
        c.insets = new Insets(0,5,10,10);
        c.weightx = 1;
       
        btnPanel.add(new JButton("URL"),c);
        
        c.gridheight = 1;
        c.gridwidth = 1;
        c.weightx = 0;
        c.weighty = 0;
        c.fill =  GridBagConstraints.HORIZONTAL;
        c.gridx = GridBagConstraints.RELATIVE;
        c.gridwidth = 1;
        c.insets = new Insets(0,0,0,0);
        c.anchor = GridBagConstraints.NORTHWEST;
        btnPanel.add(new JButton("Button"),c);
       
       
        getContentPane().add(btnPanel,BorderLayout.SOUTH);
        
        setVisible(true);
    }
    
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {    
               public void run() {    
                 new CrawlerUI();
                          } });
               
        
    }
}

Автор: goodday1941 6.3.2009, 17:55
Код

import java.awt.*;
import javax.swing.*;

public class CrawlerUI extends JFrame {

    public JTable table;

    public CrawlerUI() {
        GridBagConstraints c;
        getContentPane().setLayout(new BorderLayout());
        setSize(500, 500);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        GridBagLayout gbl = new GridBagLayout();
        c = new GridBagConstraints();
        JPanel btnPanel = new JPanel();
        btnPanel.setBorder(BorderFactory.createTitledBorder("Manage"));
        btnPanel.setLayout(gbl);

        c.anchor = GridBagConstraints.WEST;
        c.weightx = 0.0;
        c.weighty = 0.0;

        btnPanel.add(new JButton("URL"),c);

        c.weightx = 1.0;
        c.weighty = 0.0;

        btnPanel.add(new JButton("Button"),c);

        getContentPane().add(btnPanel,BorderLayout.SOUTH);

        setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new CrawlerUI();
            } });


    }
}


Добавлено через 2 минуты и 23 секунды
почитай http://frolov-lib.ru/programming/javasamples/vol5/vol5_5/index.html по этому вопросу.

Автор: headzero 6.3.2009, 21:33
Спасибо будем разбираться

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)