M src/main/java/jones/andrew/imageviewer/IconPanel.java +37 -0
@@ 11,7 11,11 @@ package jones.andrew.imageviewer;
*/
import javax.swing.*;
import java.awt.*;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.awt.event.MouseMotionListener;
import org.apache.log4j.*;
+
public class IconPanel extends JPanel{
Logger logger = Logger.getLogger(this.getClass());
Image myImage;
@@ 33,5 37,38 @@ public class IconPanel extends JPanel{
}
//paint my contents
}
+
+ public IconPanel() {
+ this.addMouseListener(new MouseListener() {
+ public void mouseClicked(MouseEvent e) {
+ logger.info("Mouse clicked at " + e.getPoint());
+ }
+
+ public void mousePressed(MouseEvent e) {
+ logger.info("Mouse pressed at " + e.getPoint());
+ }
+
+ public void mouseReleased(MouseEvent e) {
+ logger.info("Mouse released at " + e.getPoint());
+ }
+
+ public void mouseEntered(MouseEvent e) {
+ logger.info("Mouse entered at " + e.getPoint());
+ }
+
+ public void mouseExited(MouseEvent e) {
+ logger.info("Mouse exited at " + e.getPoint());
+ }
+ });
+ this.addMouseMotionListener(new MouseMotionListener() {
+ public void mouseDragged(MouseEvent e) {
+ logger.info("Mouse dragged at " + e.getPoint());
+ }
+
+ public void mouseMoved(MouseEvent e) {
+ }
+
+ });
+ }
}
M src/main/java/jones/andrew/imageviewer/Main.java +18 -0
@@ 22,6 22,7 @@ import com.ajtjp.jImageReader.reader.Sun
import com.ajtjp.jImageReader.reader.TGAReader;
import com.ajtjp.jImageReader.reader.workInProgress.JFIFReader;
import com.ajtjp.jImageReader.spi.MSPImageSPI;
+import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.GridBagConstraints;
@@ 336,6 337,23 @@ public class Main extends JFrame {
//pcxScroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
getContentPane().setLayout(new GridBagLayout());
getContentPane().add(pcxScroll, g);
+
+
+ // BEGIN PALETTE
+ PalettePanel testPanel = new PalettePanel(Color.WHITE);
+ testPanel.setPreferredSize(new Dimension(32, 32));
+ testPanel.setMinimumSize(new Dimension(32, 32));
+ PalettePanel testPanel2 = new PalettePanel(Color.BLACK);
+ testPanel2.setPreferredSize(new Dimension(32, 32));
+ testPanel2.setMinimumSize(new Dimension(32, 32));
+ g.gridy++;
+ g.weighty = 0;
+ g.fill = GridBagConstraints.NONE;
+ getContentPane().add(testPanel, g);
+ g.gridy++;
+ getContentPane().add(testPanel2, g);
+ // END PALETTE
+
//pnlPCXViewer.setBackground(Color.WHITE);
pnlPCXViewer.setVisible(true);
pack();
A => src/main/java/jones/andrew/imageviewer/PalettePanel.java +27 -0
@@ 0,0 1,27 @@
+
+package jones.andrew.imageviewer;
+
+import java.awt.Color;
+import java.awt.Graphics;
+import javax.swing.JPanel;
+
+/**
+ * Shows a color from the palette.
+ * @author Andrew
+ */
+public class PalettePanel extends JPanel {
+
+ private Color color;
+
+ public PalettePanel(Color color) {
+ this.color = color;
+ }
+
+ public void paint(Graphics g) {
+ super.paint(g);
+ if (this.isVisible()) {
+ g.setColor(color);
+ g.fillRect(0, 0, 32, 32);
+ }
+ }
+}