Miglayout как выровнять две кнопки с компонентом
import java.awt.Dimension; import java.awt.EventQueue; import java.awt.Font; import java.awt.Toolkit; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JPanel; import javax.swing.WindowConstants; import net.miginfocom.swing.*; public class Main{ private JFrame frame = new JFrame("Super Simple"); private JPanel panel1 = new JPanel(); //calendar of month public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try{ Main m = new Main(); m.monthScreen(); } catch (Exception e){ } } }); } public Main(){ panel1.setLayout(new MigLayout("", "[14.2%][14.2%][14.2%][14.2%][14.2%][14.2%][14.2%]", "[12.5%][12.5%][12.5%][12.5%][12.5%][12.5%][12.5%][12.5%]")); Toolkit tk = Toolkit.getDefaultToolkit(); Dimension d = tk.getScreenSize(); frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); //tells the window listener to handle closing frame.addWindowListener(new WindowListener(){ @Override public void windowActivated(WindowEvent arg0) { // TODO Auto-generated method stub } @Override public void windowClosed(WindowEvent arg0) { } @Override public void windowClosing(WindowEvent arg0) { System.out.println("Closing!"); System.exit(0); } @Override public void windowDeactivated(WindowEvent arg0) { // TODO Auto-generated method stub } @Override public void windowDeiconified(WindowEvent arg0) { // TODO Auto-generated method stub } @Override public void windowIconified(WindowEvent arg0) { // TODO Auto-generated method stub } @Override public void windowOpened(WindowEvent arg0) { // TODO Auto-generated method stub } }); frame.getContentPane().add(panel1); frame.setBounds(100, 100, (int)(d.width/1.5), (int)(d.height/1.3)); // roughly 75% size of screen on opening d.setSize(600, 600); //minimum that the screen can resized to. frame.setMinimumSize(d); JMenuBar menuBar; JMenu menu; menuBar = new JMenuBar(); menu = new JMenu("A Menu"); menuBar.add(menu); frame.setJMenuBar(menuBar); frame.setVisible(true); } public void monthScreen(){ JButton buttonLeft = new JButton(); JButton buttonRight = new JButton(); Dimension d = new Dimension(); d.setSize(20, 20); buttonLeft.setMinimumSize(d); buttonLeft.setMaximumSize(d); buttonRight.setMinimumSize(d); buttonRight.setMaximumSize(d); JLabel label = new JLabel("Example"); try { //in case they don't have the font, use the systems default font Font tr = new Font("Impact", Font.PLAIN, 18); label.setFont(tr); } catch (Exception e){ Font defaultFont = new JLabel().getFont(); Font tr = new Font(defaultFont.toString(), Font.PLAIN, 18); label.setFont(tr); } panel1.add(label, "cell 0 1, span, align 50% 0%, id label"); panel1.add(buttonLeft, "id bl, cell 0 1"); panel1.add(buttonRight, "id br, cell 0 1"); } }
Я пытаюсь заставить buttonLeft и buttonRight выровняться по центру текста примера и оставаться выровненными при изменении размера экрана, например так:
http://i.stack.imgur.com/LeBIG.png
Может ли кто-нибудь, кто знает, как использовать MigLayout, помочь? Спасибо
Что я уже пробовал:
Я пробовал много различных параметров для panel1. add(buttonLeft, " id bl, cell 0 1");
panel1. add (buttonRight, "id br, ячейка 0 1"); и один раз изменил макет всей панели