package org.openslx.dozmod.gui.window.layout; import java.awt.Dimension; import java.awt.Frame; import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JPanel; import org.openslx.dozmod.Branding; import org.openslx.dozmod.gui.Gui; import org.openslx.dozmod.gui.helper.GridManager; @SuppressWarnings("serial") public abstract class VirtualizerNoticeWindowLayout extends JDialog { private static final String title = "Hinweis VMWare Player"; private static final String infoText = "" + "Für die Arbeit mit der " + Branding.getApplicationName() + " wird zwingend der VMWare Player benötigt. " + "Diesen können Sie sich unter folgendem Link kostenfrei herunterladen. " + "Wenn Sie bereits den VMWare Player oder die VMWare Workstation installiert haben, können Sie diesen Hinweis ignorieren." + ""; // protected JButton windowsDLButton; protected final JButton btnDownload; protected final JButton btnClose; public VirtualizerNoticeWindowLayout(Frame modalParent) { super(modalParent, title, modalParent != null ? ModalityType.APPLICATION_MODAL : ModalityType.MODELESS); JPanel contentPanel = new JPanel(); contentPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); add(contentPanel); GridManager grid = new GridManager(contentPanel, 1); JPanel infoPane = new JPanel(); infoPane.setLayout(new BoxLayout(infoPane, BoxLayout.PAGE_AXIS)); // infotext JLabel infoLabel = new JLabel(infoText); infoLabel.setBorder(BorderFactory.createTitledBorder("Hinweis")); infoPane.add(infoLabel); // Spacing infoPane.add(Box.createRigidArea(new Dimension(0, 10))); // Download buttons btnDownload = new JButton("VMWare Player herunterladen"); infoPane.add(btnDownload); // Bottom controls JPanel bottomPane = new JPanel(); bottomPane.setLayout(new BoxLayout(bottomPane, BoxLayout.LINE_AXIS)); bottomPane.add(Box.createHorizontalGlue()); btnClose = new JButton("Schließen"); bottomPane.add(btnClose); grid.add(infoPane).fill(true, true).expand(true, true); grid.nextRow(); grid.skip().fill(true, true).expand(true, true); grid.nextRow(); grid.add(bottomPane).fill(true, false).expand(true, false); grid.nextRow(); grid.finish(false); // Scale window with font setMinimumSize(Gui.getScaledDimension(600, 250)); setLocationRelativeTo(modalParent); validate(); } }