summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/view/impl/HandPanel.java
diff options
context:
space:
mode:
authorJannis Harder <harder@informatik.uni-luebeck.de>2011-06-19 03:23:37 +0200
committerJannis Harder <harder@informatik.uni-luebeck.de>2011-06-19 03:23:37 +0200
commitfe7a2bc0ee0c04171cebffbfb0d0fdd98038938b (patch)
tree80b8116bdb89ea31d14b59b253cadf0b40ccc800 /src/jrummikub/view/impl/HandPanel.java
parentbf24a9279ae23336cc8e14d6e1c40f1a2a0c33a7 (diff)
downloadJRummikub-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.java55
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;
}
+
}