public void init() { setLocale(getLocaleFromConfig()); List<String> colorNames = config.getPlayers().getColors(); playerColors = new Color[colorNames.size()]; for (int i = 0; i < playerColors.length; i++ ) { playerColors[i] = stringToColor(colorNames.get(i)); } figureTheme = new FigureTheme(this); controlsTheme = new ControlsTheme(this); resetWindowIcon(); try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception e) { e.printStackTrace(); //TODO logger } setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); this.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { if (closeGame() == true) { System.exit(0); } } }); MenuBar menuBar = new MenuBar(this); this.setJMenuBar(menuBar); //Toolkit.getDefaultToolkit().addAWTEventListener(new GlobalKeyListener(), AWTEvent.KEY_EVENT_MASK); Container pane = getContentPane(); pane.setLayout(new BorderLayout()); JPanel envelope = new BackgroundPanel(new GridBagLayout()); pane.add(envelope, BorderLayout.CENTER); startPanel = new StartPanel(); startPanel.setClient(this); envelope.add(startPanel); this.pack(); this.setExtendedState(java.awt.Frame.MAXIMIZED_BOTH); this.setTitle(BASE_TITLE); this.setVisible(true); }
public void showUpdateIsAvailable(final AppUpdate appUpdate) { if (isVisible() && startPanel != null) { Color bg = new Color(0.2f, 1.0f, 0.0f, 0.1f); HelpPanel hp = startPanel.getHelpPanel(); hp.removeAll(); hp.setOpaque(true); hp.setBackground(bg); Font font = new Font(null, Font.BOLD, 14); JLabel label; label = new JLabel(_("JCloisterZone " + appUpdate.getVersion() + " is available for download.")); label.setFont(font); hp.add(label, "wrap"); label = new JLabel(appUpdate.getDescription()); hp.add(label, "wrap"); final JTextField link = new JTextField(appUpdate.getDownloadUrl()); link.setEditable(false); link.setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR)); link.addMouseListener(new MouseAdapter() { @Override public void mouseEntered(MouseEvent e) { link.setSelectionStart(0); link.setSelectionEnd(link.getText().length()); } @Override public void mouseExited(MouseEvent e) { link.setSelectionStart(0); link.setSelectionEnd(0); } }); hp.add(link, "wrap, growx"); hp.repaint(); } else { //probably it shouln't happen System.out.println("JCloisterZone " + appUpdate.getVersion() + " is avaiable for download."); System.out.println(appUpdate.getDescription()); System.out.println(appUpdate.getDownloadUrl()); } }