summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/view/impl/PlayerPanel.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/view/impl/PlayerPanel.java')
-rw-r--r--src/jrummikub/view/impl/PlayerPanel.java35
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) {