/* * SK's Minecraft Launcher * Copyright (C) 2010-2014 Albert Pham <http://www.sk89q.com> and contributors * Please see LICENSE.txt for license information. */ package com.skcraft.launcher.creator.dialog; import com.skcraft.launcher.swing.SwingHelper; import com.skcraft.launcher.swing.TextFieldPopupMenu; import lombok.Getter; import net.miginfocom.swing.MigLayout; import javax.swing.*; import java.awt.*; import java.awt.event.KeyEvent; public class ManifestEntryDialog extends JDialog { @Getter private final JSpinner prioritySpinner = new JSpinner(); @Getter private final JTextArea gameKeysText = new JTextArea(5, 30); @Getter private final JCheckBox includeCheck = new JCheckBox("Include in package listing"); @Getter private final JButton okButton = new JButton("OK"); @Getter private final JButton cancelButton = new JButton("Cancel"); public ManifestEntryDialog(Window parent) { super(parent, "Modpack Entry", ModalityType.DOCUMENT_MODAL); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); initComponents(); setResizable(false); pack(); setLocationRelativeTo(parent); } private void initComponents() { gameKeysText.setFont(prioritySpinner.getFont()); prioritySpinner.setComponentPopupMenu(TextFieldPopupMenu.INSTANCE); gameKeysText.setComponentPopupMenu(TextFieldPopupMenu.INSTANCE); JPanel container = new JPanel(); container.setLayout(new MigLayout("insets dialog")); container.add(includeCheck, "span, gapbottom unrel"); container.add(new JLabel("Priority:")); container.add(prioritySpinner, "span, split 2, w 50"); container.add(new JLabel("(Greater is higher)")); container.add(new JLabel("Game Keys:")); container.add(SwingHelper.wrapScrollPane(gameKeysText), "span"); container.add(okButton, "tag ok, span, split 2, sizegroup bttn, gaptop unrel"); container.add(cancelButton, "tag cancel, sizegroup bttn"); add(container, BorderLayout.CENTER); getRootPane().setDefaultButton(okButton); getRootPane().registerKeyboardAction(e -> cancelButton.doClick(), KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW); } }