From 05b825395e2c0af521a4e978818e2d5f6757e273 Mon Sep 17 00:00:00 2001 From: Scotthew Date: Mon, 24 Sep 2012 16:37:21 -0700 Subject: [PATCH] Updated popup windows to now use the top level RomRaider icon instead of the default Java icon. --- .../romraider/swing/CompareImagesForm.java | 172 +++++++++--------- .../romraider/swing/DefinitionManager.java | 72 ++++---- src/com/romraider/swing/ECUEditorMenuBar.java | 2 +- src/com/romraider/swing/SettingsForm.java | 1 + 4 files changed, 126 insertions(+), 121 deletions(-) diff --git a/src/com/romraider/swing/CompareImagesForm.java b/src/com/romraider/swing/CompareImagesForm.java index 85a0a2c1..c94a693b 100644 --- a/src/com/romraider/swing/CompareImagesForm.java +++ b/src/com/romraider/swing/CompareImagesForm.java @@ -22,46 +22,46 @@ package com.romraider.swing; import java.awt.Color; import java.awt.Component; import java.awt.Cursor; +import java.awt.Image; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.util.Vector; +import javax.swing.DefaultListModel; +import javax.swing.JButton; +import javax.swing.JComboBox; import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JList; import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.ListCellRenderer; +import javax.swing.ListSelectionModel; import javax.swing.border.EmptyBorder; +import javax.swing.border.EtchedBorder; import com.romraider.maps.Rom; import com.romraider.maps.Table; -import javax.swing.border.EtchedBorder; -import javax.swing.DefaultListModel; -import javax.swing.JLabel; -import javax.swing.JList; -import javax.swing.JComboBox; -import javax.swing.JScrollPane; -import javax.swing.ListCellRenderer; -import javax.swing.JButton; -import javax.swing.ListSelectionModel; - -import java.awt.event.ActionListener; -import java.awt.event.ActionEvent; - public class CompareImagesForm extends JFrame implements ActionListener { private static final long serialVersionUID = -8937472127815934398L; - private Vector roms; - private JPanel contentPane; - private JComboBox comboBoxImageLeft; - private JComboBox comboBoxImageRight; - private JButton btnCompare; - private JList listChanges; - private DefaultListModel listModelChanges = new DefaultListModel(); - private ChangeListCellRenderer changeRenderer = new ChangeListCellRenderer(); - private JScrollPane scrollPaneResults; - private JLabel lblImageResultString; + private final Vector roms; + private final JPanel contentPane; + private final JComboBox comboBoxImageLeft; + private final JComboBox comboBoxImageRight; + private final JButton btnCompare; + private final JList listChanges; + private final DefaultListModel listModelChanges = new DefaultListModel(); + private final ChangeListCellRenderer changeRenderer = new ChangeListCellRenderer(); + private final JScrollPane scrollPaneResults; + private final JLabel lblImageResultString; public static Color equal = new Color(52,114,53); public static Color different = new Color(193, 27, 23); public static Color missing = new Color(251,185,23); - - public CompareImagesForm(Vector roms) { + + public CompareImagesForm(Vector roms, Image parentImage) { + this.setIconImage(parentImage); setResizable(false); this.roms = roms; @@ -71,63 +71,63 @@ public class CompareImagesForm extends JFrame implements ActionListener { this.contentPane = new JPanel(); this.contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(this.contentPane); - + JLabel lblSelectImages = new JLabel("Selected Images"); lblSelectImages.setBounds(10, 11, 79, 14); - + contentPane.setLayout(null); - + JPanel panelImageSelector = new JPanel(); panelImageSelector.setBounds(10, 36, 574, 94); panelImageSelector.setBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null)); panelImageSelector.setLayout(null); - + JLabel lblImageLeft = new JLabel("Image (Left):"); lblImageLeft.setBounds(10, 10, 70, 14); panelImageSelector.add(lblImageLeft); - + this.comboBoxImageLeft = new JComboBox(); this.comboBoxImageLeft.setBounds(89, 7, 475, 20); this.comboBoxImageLeft.setToolTipText("Select an image to compare."); this.comboBoxImageLeft.setRenderer( new ComboBoxRenderer() ); panelImageSelector.add(this.comboBoxImageLeft); - + JLabel lblImageRight = new JLabel("Image (Right):"); lblImageRight.setBounds(10, 35, 70, 14); panelImageSelector.add(lblImageRight); - + this.comboBoxImageRight = new JComboBox(); this.comboBoxImageRight.setBounds(89, 32, 475, 20); this.comboBoxImageRight.setToolTipText("Select an image to compare."); this.comboBoxImageRight.setRenderer( new ComboBoxRenderer() ); panelImageSelector.add(this.comboBoxImageRight); - + this.btnCompare = new JButton("Compare"); this.btnCompare.addActionListener(this); this.btnCompare.setBounds(10, 64, 89, 23); panelImageSelector.add(this.btnCompare); this.contentPane.add(panelImageSelector); this.contentPane.add(lblSelectImages); - + JLabel lblResults = new JLabel("Results:"); lblResults.setBounds(10, 141, 46, 14); contentPane.add(lblResults); - + lblImageResultString = new JLabel("Compare images..."); lblImageResultString.setBounds(66, 141, 518, 14); contentPane.add(lblImageResultString); scrollPaneResults = new JScrollPane(); scrollPaneResults.setBounds(10, 166, 574, 245); contentPane.add(scrollPaneResults); - + this.listChanges = new JList(this.listModelChanges); scrollPaneResults.setViewportView(this.listChanges); listChanges.setCellRenderer(changeRenderer); listChanges.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); - + populateComboBoxes(); } - + public void populateComboBoxes() { for(int i=0; i leftTables = left.getTables(); Vector rightTables = right.getTables(); - + int equal = 0; int different = 0; int missing = 0; - + String leftTableName; String rightTableName; String leftTableAsString; String rightTableAsString; Boolean found = false; - - // Compare the tables. + + // Compare the tables. for(int x=0;x 0 && different == 0 && missing == 0) { lblImageResultString.setText("Images are equal."); @@ -213,8 +213,8 @@ public class CompareImagesForm extends JFrame implements ActionListener { } else { lblImageResultString.setText("Images are NOT equal. Equal Tables: "+equal+", Changed Tables: "+different+", Missing Tables: "+missing); lblImageResultString.setForeground(CompareImagesForm.missing); - } - + } + // Check if the list has items. if(listModelChanges.size() < 1) { @@ -223,25 +223,25 @@ public class CompareImagesForm extends JFrame implements ActionListener { lblImageResultString.setForeground(Color.RED); return; } - + // Add list items for 0 counts. if(equal == 0) { - listModelChanges.addElement(new ListItem(1, "No Equal Tables.")); + listModelChanges.addElement(new ListItem(1, "No Equal Tables.")); } - + if(different == 0) { listModelChanges.addElement(new ListItem(2, "No Changed Tables.")); } - + if(missing == 0) { - listModelChanges.addElement(new ListItem(3, "No Missing Tables.")); + listModelChanges.addElement(new ListItem(3, "No Missing Tables.")); } } - + @Override public void actionPerformed(ActionEvent e) { this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); @@ -258,7 +258,7 @@ public class CompareImagesForm extends JFrame implements ActionListener { } this.setCursor(Cursor.getDefaultCursor()); } - + class ComboBoxRenderer extends JLabel implements ListCellRenderer { @@ -273,7 +273,7 @@ public class CompareImagesForm extends JFrame implements ActionListener { @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - + if(isSelected) { setBackground(list.getSelectionBackground()); setForeground(list.getSelectionForeground()); @@ -281,7 +281,7 @@ public class CompareImagesForm extends JFrame implements ActionListener { setBackground(list.getBackground()); setForeground(list.getForeground()); } - + if(value != null) { // Set the text to the rom file name. @@ -290,20 +290,20 @@ public class CompareImagesForm extends JFrame implements ActionListener { setFont(list.getFont()); } return this; - } + } } - + class ChangeListCellRenderer extends JLabel implements ListCellRenderer { private static final long serialVersionUID = -3645192077787635239L; - + public ChangeListCellRenderer() { setOpaque(true); setHorizontalAlignment(LEFT); setVerticalAlignment(CENTER); } - + @Override public Component getListCellRendererComponent(JList paramList, Object value, int index, boolean isSelected, boolean cellHasFocus) { @@ -314,56 +314,56 @@ public class CompareImagesForm extends JFrame implements ActionListener { } else { setBackground(paramList.getBackground()); } - + // Set the foreground color based on the item type. ListItem item = (ListItem)value; switch(item.getType()) { - case 1: - // equal - default green - setForeground(CompareImagesForm.equal); - break; - case 2: - // different - default red - setForeground(CompareImagesForm.different); - break; - case 3: - // missing - default yellow - setForeground(CompareImagesForm.missing); - break; - default: - setForeground(paramList.getForeground()); - break; + case 1: + // equal - default green + setForeground(CompareImagesForm.equal); + break; + case 2: + // different - default red + setForeground(CompareImagesForm.different); + break; + case 3: + // missing - default yellow + setForeground(CompareImagesForm.missing); + break; + default: + setForeground(paramList.getForeground()); + break; } setText(item.getValue()); return this; - } + } } - + class ListItem { - + private int type; private String value; - + public ListItem(int type, String value) { this.type = type; this.value = value; } - + public int getType() { return type; } - + public void setType(int type) { this.type = type; } - + public String getValue() { return value; } - + public void setValue(String value) { this.value = value; } - + } } diff --git a/src/com/romraider/swing/DefinitionManager.java b/src/com/romraider/swing/DefinitionManager.java index 9ccd2dbc..36d849eb 100644 --- a/src/com/romraider/swing/DefinitionManager.java +++ b/src/com/romraider/swing/DefinitionManager.java @@ -19,15 +19,17 @@ package com.romraider.swing; -import com.romraider.editor.ecu.ECUEditor; -import javax.swing.JFileChooser; -import javax.swing.ListSelectionModel; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.util.Vector; +import javax.swing.JFileChooser; +import javax.swing.ListSelectionModel; + +import com.romraider.editor.ecu.ECUEditor; + public class DefinitionManager extends javax.swing.JFrame implements ActionListener { private static final long serialVersionUID = -3920843496218196737L; @@ -38,6 +40,7 @@ public class DefinitionManager extends javax.swing.JFrame implements ActionListe Vector fileNames; public DefinitionManager(ECUEditor parent) { + this.setIconImage(parent.getIconImage()); initComponents(); this.parent = parent; initSettings(); @@ -108,39 +111,39 @@ public class DefinitionManager extends javax.swing.JFrame implements ActionListe getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(layout.createSequentialGroup() + .add(layout.createSequentialGroup() .addContainerGap() .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 448, Short.MAX_VALUE) .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup() - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) - .add(layout.createSequentialGroup() - .add(btnSave) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(btnApply) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(btnUndo) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(btnCancel)) - .add(layout.createSequentialGroup() - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(defLabel) + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) .add(layout.createSequentialGroup() - .add(btnMoveDown) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(btnMoveUp))) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 80, Short.MAX_VALUE) - .add(btnAddDefinition))) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(btnRemoveDefinition))) - .addContainerGap()) - ); + .add(btnSave) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(btnApply) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(btnUndo) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(btnCancel)) + .add(layout.createSequentialGroup() + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(defLabel) + .add(layout.createSequentialGroup() + .add(btnMoveDown) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(btnMoveUp))) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 80, Short.MAX_VALUE) + .add(btnAddDefinition))) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(btnRemoveDefinition))) + .addContainerGap()) + ); layout.linkSize(new java.awt.Component[]{btnAddDefinition, btnMoveDown, btnMoveUp, btnRemoveDefinition}, org.jdesktop.layout.GroupLayout.HORIZONTAL); layout.setVerticalGroup( layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(layout.createSequentialGroup() + .add(layout.createSequentialGroup() .addContainerGap() .add(defLabel) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) @@ -151,17 +154,18 @@ public class DefinitionManager extends javax.swing.JFrame implements ActionListe .add(btnMoveDown) .add(btnRemoveDefinition, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 23, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .add(btnAddDefinition)) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) - .add(btnSave) - .add(btnApply) - .add(btnUndo) - .add(btnCancel)) - .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - ); + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(btnSave) + .add(btnApply) + .add(btnUndo) + .add(btnCancel)) + .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); pack(); }// //GEN-END:initComponents + @Override public void actionPerformed(ActionEvent e) { if (e.getSource() == btnCancel) { dispose(); diff --git a/src/com/romraider/swing/ECUEditorMenuBar.java b/src/com/romraider/swing/ECUEditorMenuBar.java index 00a28e32..e38d3132 100644 --- a/src/com/romraider/swing/ECUEditorMenuBar.java +++ b/src/com/romraider/swing/ECUEditorMenuBar.java @@ -307,7 +307,7 @@ public class ECUEditorMenuBar extends JMenuBar implements ActionListener { form.setVisible(true); } else if (e.getSource() == compareImages){ - CompareImagesForm form = new CompareImagesForm(parent.getImages()); + CompareImagesForm form = new CompareImagesForm(parent.getImages(), parent.getIconImage()); form.setLocationRelativeTo(parent); form.setVisible(true); diff --git a/src/com/romraider/swing/SettingsForm.java b/src/com/romraider/swing/SettingsForm.java index 4a0013d9..208b6547 100644 --- a/src/com/romraider/swing/SettingsForm.java +++ b/src/com/romraider/swing/SettingsForm.java @@ -54,6 +54,7 @@ public class SettingsForm extends JFrame implements MouseListener { ECUEditor parent; public SettingsForm(ECUEditor parent) { + this.setIconImage(parent.getIconImage()); this.parent = parent; settings = parent.getSettings(); initComponents();