diff options
Diffstat (limited to 'src/jrummikub/view/impl/PlayerPanel.java')
-rw-r--r-- | src/jrummikub/view/impl/PlayerPanel.java | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/src/jrummikub/view/impl/PlayerPanel.java b/src/jrummikub/view/impl/PlayerPanel.java index e557842..0e5639a 100644 --- a/src/jrummikub/view/impl/PlayerPanel.java +++ b/src/jrummikub/view/impl/PlayerPanel.java @@ -6,6 +6,7 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; +import java.awt.event.ComponentListener; import java.text.DecimalFormat; import java.util.Collections; @@ -60,6 +61,10 @@ class PlayerPanel extends JPanel implements IPlayerPanel { private Event redealEvent = new Event(); private Event pauseEvent = new Event(); private int leftPanelWidth; + private boolean mayPause = true; + + private ComponentListener leftPanelResizeListener = new LeftPanelResizeListener(); + private ComponentListener rightPanelResizeListener = new RightPanelResizeListener(); HandPanel getHandPanel() { return hand; @@ -157,7 +162,7 @@ class PlayerPanel extends JPanel implements IPlayerPanel { } }); - leftPanel.addComponentListener(new LeftPanelResizeListener()); + leftPanel.addComponentListener(leftPanelResizeListener); } private void createRightPanel() { @@ -188,7 +193,7 @@ class PlayerPanel extends JPanel implements IPlayerPanel { createRightPanelButtons(); - rightPanel.addComponentListener(new RightPanelResizeListener()); + rightPanel.addComponentListener(rightPanelResizeListener); } private void createRightPanelButtons() { @@ -237,7 +242,7 @@ class PlayerPanel extends JPanel implements IPlayerPanel { Insets insets = getInsets(); int x = insets.left, y = insets.top, width = getWidth() - insets.left - insets.right, height = getHeight() - insets.top - insets.bottom; - + int boardWidth = hand.rescale(height); int handButtonWidth = (int) (width * HAND_ROW_BUTTON_RATIO); int meanPanelWidth = (width - boardWidth) / 2; @@ -252,7 +257,7 @@ class PlayerPanel extends JPanel implements IPlayerPanel { leftPanel.validate(); rightPanel.validate(); } - + int getLeftPanelWidth() { return leftPanelWidth; } @@ -342,6 +347,11 @@ class PlayerPanel extends JPanel implements IPlayerPanel { hand.setEnabled(enable); } + void setMayPause(boolean mayPause) { + this.mayPause = mayPause; + rightPanelResizeListener.componentResized(null); + } + private class LeftPanelResizeListener extends ComponentAdapter { @Override public void componentResized(ComponentEvent e) { @@ -427,12 +437,17 @@ class PlayerPanel extends JPanel implements IPlayerPanel { } private void rescaleTimeBar(int x, int y, int width, int firstLineHeight) { - timeBar.setBounds(x, y, width - firstLineHeight - SIDE_PANEL_SEPARATOR, - firstLineHeight); - pauseButton.setBounds(x + width - firstLineHeight, y, firstLineHeight, - firstLineHeight); - pauseButton.setIcon(ImageUtil - .createPauseIcon((int) (firstLineHeight * 0.5f))); + if (mayPause) { + timeBar.setBounds(x, y, width - firstLineHeight - SIDE_PANEL_SEPARATOR, + firstLineHeight); + pauseButton.setBounds(x + width - firstLineHeight, y, firstLineHeight, + firstLineHeight); + pauseButton.setIcon(ImageUtil + .createPauseIcon((int) (firstLineHeight * 0.5f))); + } else { + timeBar.setBounds(x, y, width, firstLineHeight); + pauseButton.setBounds(0, 0, 0, 0); + } } private void rescaleUpDownButtons(int handButtonWidth, float fontSize) { |