1 31 32 package org.antlr.xjlib.appkit.update; 33 34 import org.antlr.xjlib.appkit.frame.XJDialog; 35 import org.antlr.xjlib.foundation.XJSystem; 36 37 import javax.swing.*; 38 import java.awt.*; 39 40 public class XJUpdateManagerDialogUpdateAvailable extends XJDialog { 41 42 protected XJUpdateManager um; 43 44 protected JLabel infoLabel; 45 protected JScrollPane scrollPane; 46 protected JTextArea infoText; 47 protected JButton downloadButton; 48 protected JButton cancelButton; 49 50 public XJUpdateManagerDialogUpdateAvailable(XJUpdateManager um) { 51 super(um.getParentContainer(), true); 52 53 this.um = um; 54 55 initComponents(); 56 setSize(600, 300); 57 center(); 58 59 setDefaultButton(downloadButton); 60 setCancelButton(cancelButton); 61 setOKButton(downloadButton); 62 63 infoLabel.setText("A new version of "+um.getApplicationName()+" is available:"); 64 infoText.setFont(new Font("Courier", Font.PLAIN, 12)); 65 infoText.setText(um.getDescription()); 66 infoText.setCaretPosition(0); 67 } 68 69 private void initComponents() { 70 infoLabel = new JLabel(""); 71 72 infoText = new JTextArea(); 73 infoText.setEditable(false); 74 75 scrollPane = new JScrollPane(infoText); 76 scrollPane.setWheelScrollingEnabled(true); 77 78 downloadButton = new JButton("Download"); 79 cancelButton = new JButton("Cancel"); 80 81 setTitle("Check for Updates"); 82 Container contentPane = getContentPane(); 83 contentPane.setLayout(new GridBagLayout()); 84 85 GridBagConstraints gbc = new GridBagConstraints(); 86 87 gbc.gridx = 0; 88 gbc.gridy = 0; 89 gbc.anchor = GridBagConstraints.WEST; 90 gbc.fill = GridBagConstraints.HORIZONTAL; 91 gbc.weightx = 1; 92 gbc.insets = new Insets(20, 20, 5, 0); 93 contentPane.add(infoLabel, gbc); 94 95 gbc.gridx = 0; 96 gbc.gridy = 1; 97 gbc.fill = GridBagConstraints.BOTH; 98 gbc.weightx = 1; 99 gbc.weighty = 1; 100 gbc.insets = new Insets(0, 20, 0, 20); 101 contentPane.add(scrollPane, gbc); 102 103 Box box = Box.createHorizontalBox(); 104 if(XJSystem.isMacOS()) { 105 box.add(cancelButton); 106 box.add(Box.createHorizontalStrut(10)); 107 box.add(downloadButton); 108 } else { 109 box.add(downloadButton); 110 box.add(Box.createHorizontalStrut(10)); 111 box.add(cancelButton); 112 } 113 114 gbc.gridx = 0; 115 gbc.gridy = 2; 116 gbc.anchor = GridBagConstraints.EAST; 117 gbc.fill = GridBagConstraints.NONE; 118 gbc.weightx = 0; 119 gbc.weighty = 0; 120 gbc.insets = new Insets(5, 0, 20, 20); 121 contentPane.add(box, gbc); 122 } 123 124 } 125 | Popular Tags |