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.