diff options
author | Jannis Harder <harder@informatik.uni-luebeck.de> | 2011-06-19 03:23:37 +0200 |
---|---|---|
committer | Jannis Harder <harder@informatik.uni-luebeck.de> | 2011-06-19 03:23:37 +0200 |
commit | fe7a2bc0ee0c04171cebffbfb0d0fdd98038938b (patch) | |
tree | 80b8116bdb89ea31d14b59b253cadf0b40ccc800 /src/jrummikub/view/impl/HandPanel.java | |
parent | bf24a9279ae23336cc8e14d6e1c40f1a2a0c33a7 (diff) | |
download | JRummikub-fe7a2bc0ee0c04171cebffbfb0d0fdd98038938b.tar JRummikub-fe7a2bc0ee0c04171cebffbfb0d0fdd98038938b.zip |
Started implementing of side panel
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@480 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/view/impl/HandPanel.java')
-rw-r--r-- | src/jrummikub/view/impl/HandPanel.java | 55 |
1 files changed, 28 insertions, 27 deletions
diff --git a/src/jrummikub/view/impl/HandPanel.java b/src/jrummikub/view/impl/HandPanel.java index 823ca12..181be07 100644 --- a/src/jrummikub/view/impl/HandPanel.java +++ b/src/jrummikub/view/impl/HandPanel.java @@ -35,9 +35,10 @@ class HandPanel extends AbstractStonePanel implements IHandPanel { ImageIcon image = new ImageIcon( HandPanel.class.getResource("/jrummikub/resource/wood.png")); ImageIcon darkImage = new ImageIcon( - HandPanel.class.getResource("/jrummikub/resource/dark_wood.png")); - BACKGROUND = new BufferedImage(image.getIconWidth(), image.getIconHeight(), - BufferedImage.TYPE_INT_RGB); + HandPanel.class + .getResource("/jrummikub/resource/dark_wood.png")); + BACKGROUND = new BufferedImage(image.getIconWidth(), + image.getIconHeight(), BufferedImage.TYPE_INT_RGB); DARK_BACKGROUND = new BufferedImage(darkImage.getIconWidth(), darkImage.getIconHeight(), BufferedImage.TYPE_INT_RGB); @@ -63,14 +64,6 @@ class HandPanel extends AbstractStonePanel implements IHandPanel { this.playerPanel = playerPanel; setBorder(new MatteBorder(0, 1, 0, 1, Color.DARK_GRAY)); - - addComponentListener(new ComponentAdapter() { - - @Override - public void componentResized(ComponentEvent e) { - rescale(); - } - }); } private BufferedImage getScaledBackground(int size, BufferedImage background) { @@ -89,7 +82,8 @@ class HandPanel extends AbstractStonePanel implements IHandPanel { protected void paintComponent(Graphics g1) { Insets insets = getInsets(); int x = insets.left, y = insets.top, width = getWidth() - insets.left - - insets.right, height = getHeight() - insets.top - insets.bottom; + - insets.right, height = getHeight() - insets.top + - insets.bottom; Graphics2D g = (Graphics2D) g1.create(x, y, width, height); int size = height / HEIGHT; @@ -100,11 +94,13 @@ class HandPanel extends AbstractStonePanel implements IHandPanel { if (repaintAll) { if (background.getHeight() != size) { if (!isEnabled()) { - scaledDarkBackground = getScaledBackground(size, DARK_BACKGROUND); + scaledDarkBackground = getScaledBackground(size, + DARK_BACKGROUND); } else { scaledBackground = getScaledBackground(size, BACKGROUND); } - background = isEnabled() ? scaledBackground : scaledDarkBackground; + background = isEnabled() ? scaledBackground + : scaledDarkBackground; } for (int i = 0; i < HEIGHT; ++i) { @@ -118,9 +114,14 @@ class HandPanel extends AbstractStonePanel implements IHandPanel { g.translate(trans.getFirst(), trans.getSecond()); for (Pair<Stone, Position> entry : getStones()) { - getStonePainter().paintStone(g, entry.getFirst(), entry.getSecond(), - selectedStones.contains(entry.getFirst()) ? StoneState.SELECTED : StoneState.NORMAL, - entry.getFirst() == getHoveredStone()); + getStonePainter() + .paintStone( + g, + entry.getFirst(), + entry.getSecond(), + selectedStones.contains(entry.getFirst()) ? StoneState.SELECTED + : StoneState.NORMAL, + entry.getFirst() == getHoveredStone()); } } @@ -174,30 +175,30 @@ class HandPanel extends AbstractStonePanel implements IHandPanel { @Override public Pair<Integer, Integer> getTranslation() { - return new Pair<Integer, Integer>(0, -getStonePainter().getStoneHeight() - * currentRow); + return new Pair<Integer, Integer>(0, -getStonePainter() + .getStoneHeight() * currentRow); } /** * Sets the stones that are to be painted selected * * @param stones - * the selected stones + * the selected stones */ void setSelectedStones(Collection<Stone> stones) { selectedStones = stones; repaint(); } - private void rescale() { + int rescale(int height) { Insets insets = getInsets(); - int size = (getHeight() - insets.top - insets.bottom) / HEIGHT; - + int size = (height - insets.top - insets.bottom) / HEIGHT; getStonePainter().setScale(size * StonePainter.HEIGHT_SCALE); - - setSize(new Dimension(Hand.WIDTH * getStonePainter().getStoneWidth() - + insets.left + insets.right, getHeight())); - + int width = Hand.WIDTH * getStonePainter().getStoneWidth() + + insets.left + insets.right; + setSize(new Dimension(width, getHeight())); repaintAll = true; + return width; } + } |