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


Автор: Killer_13 13.7.2011, 23:32
Принцип я конечно понимаю, но только начал разбираться. И вот, не могу распределить контент как мне нужно. 
Есть панель 200*1000. В ней нужно расположить еще 5 панелей с контентом причем 4 фиксированной длинной например по 100, а пятую панель все что осталось тоисть 600.
Верчу, кручу Лейоутами и что то не получается. 
Спасибо.

Автор: Stolzen 14.7.2011, 11:00
при использовании дефолтного LayoutManager это не так сложно достичь, нужно лишь использовать setPreferredSize:

Код

package swing;

import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.util.Random;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Panel1000x2 {
    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }
    
    public static void createAndShowGUI() {
        JFrame frame = new JFrame("Demo");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        
        Container pane = frame.getContentPane();
        
        JPanel main = new JPanel();
        pane.add(main);
        
        Random rnd = new Random();
        
        for (int i = 0; i < 4; ++i) {
            JPanel smallFrame = new JPanel();
            smallFrame.setPreferredSize(new Dimension(100, 200));
            smallFrame.setBackground(new Color(rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256)));
            main.add(smallFrame);
        }
        
        JPanel biggerFrame = new JPanel();
        biggerFrame.setPreferredSize(new Dimension(600, 200));
        biggerFrame.setBackground(new Color(rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256)));
        main.add(biggerFrame);
        
        
        frame.setMinimumSize(new Dimension(1000, 200));
        frame.pack();
        frame.setVisible(true);
        
    }
}


user posted image

Автор: AntonSaburov 14.7.2011, 15:20
Может поможет - http://java-course.ru/articles/articles.php?name=LayoutManager

В конце статьи там даже собственный Layout создается для примера.

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