Я решил использовать BorderLayout для дизайна свинга под названием Loginwards. И я написал 5 классов для 5 сторон BorderLayout как PageStart, LineStart, Center, LineEnd, PageEnd.
У меня нет декораций Loginwards и я создал PageStart для использования кнопки сворачивания, изменения размера, выхода (для моих собственных изображений, правил ...). Кнопка выхода проста, потому что она работала так
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
но например свести к минимуму я не смог решить. Я должен был изменить свои свойства Loginwards из другого объекта класса
Подводя итог
public class Loginwards extends Jframe
{ ...
JFrame frame = new JFrame("BorderLayoutDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(PageStart.Panel(), BorderLayout.PAGE_START);
...
}
public class PageStart{
public static JPanel Panel(){
JPanel panel = new JPanel();
FlowLayout pagestart = new FlowLayout(FlowLayout.RIGHT);
panel.setLayout(pagestart);
panel.add(MinimizeButton());
panel.add(ResizeButton());
panel.add(QuitButton());
}
public static JButton MinimizeButton(){
JButton button = new JButton();
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// I Should be able to reach Loginwards here.
}
});
return button;
}