JGoodies... FormLayout

Итак, я пытаюсь получить 3 JPanel JFrame, где правая и левая панели имеют фиксированную ширину, но имеют вертикальный размер и центральную панель, которая может быть изменена по горизонтали и вертикали.

Поскольку стандартные LayoutManager ужасны и просто раздражают, мне сказали, что отраслевым стандартом, с которым проще всего работать, является JGoodies. Однако кажется, что многие ссылки на веб-сайте JGoodies устарели в отношении их примеров / учебных пособий, есть 400-страничный PDF, который я не хочу читать.

Во всяком случае, я начал реализацию FormLayout для моего первого UI_View и столкнулся с проблемой

package ppe.view;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import com.jgoodies.forms.layout.*;

public class UI_View extends JFrame
{
    private JScrollPane right   = new JScrollPane();
    private JList       browse  = new JList();

    public UI_View()
    {
        this.setTitle("Prototype MVC Arhitecture");
        this.setMinimumSize(new Dimension(800, 600));
        this.setExtendedState(this.MAXIMIZED_BOTH);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        FormLayout layout = new FormLayout("right:pref, 7dlu","p, 1dlu");
        layout.setColumnGroups(new int [][]{{1}});
        JPanel content = new JPanel(layout);

        CellConstraints c = new CellConstraints();
        right.add(browse);
        content.add(right, c.xy(1, 1));
        this.add(content);
    }

    public static void main(String[] args)
    {
        new UI_View().setVisible(true);
    }

}

2 ответа

Решение

Вы пропустили файл Jar. JGoodies имеет несколько файлов Jar, убедитесь, что у вас есть те, которые вам нужны.

MiG Layout - лучший менеджер макетов, который я использовал, но мне нравятся JGoodies за его библиотеки Binding и Validation. Вы можете найти примеры кода учебника в более старых версиях в архиве загрузок.

Что также может сделать вашу жизнь проще - это использовать Eclipse с плагином WindowBuilder. Это инструмент макета, который поддерживает FormLayout.

Другие вопросы по тегам