summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/view/impl/SettingsPanel.java
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2011-05-25 17:33:50 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2011-05-25 17:33:50 +0200
commit11d616f5b0d31ce4e169f2847d224049ffcbcf8b (patch)
tree17a9537415b70b1c45884b77a882fe3847b035d1 /src/jrummikub/view/impl/SettingsPanel.java
parent656bfe905b723b13ac870c551c513c726e9cbe82 (diff)
downloadJRummikub-11d616f5b0d31ce4e169f2847d224049ffcbcf8b.tar
JRummikub-11d616f5b0d31ce4e169f2847d224049ffcbcf8b.zip
Started implementation of settings panel
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@276 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/view/impl/SettingsPanel.java')
-rw-r--r--src/jrummikub/view/impl/SettingsPanel.java109
1 files changed, 109 insertions, 0 deletions
diff --git a/src/jrummikub/view/impl/SettingsPanel.java b/src/jrummikub/view/impl/SettingsPanel.java
new file mode 100644
index 0000000..9aba78c
--- /dev/null
+++ b/src/jrummikub/view/impl/SettingsPanel.java
@@ -0,0 +1,109 @@
+package jrummikub.view.impl;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.event.ComponentAdapter;
+import java.awt.event.ComponentEvent;
+import java.util.LinkedList;
+
+import javax.swing.BoxLayout;
+import javax.swing.JButton;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTabbedPane;
+import javax.swing.JTextField;
+import javax.swing.border.CompoundBorder;
+import javax.swing.border.EmptyBorder;
+import javax.swing.border.LineBorder;
+
+@SuppressWarnings("serial")
+class SettingsPanel extends JPanel {
+ private JPanel playerSetupPanel;
+ private JPanel playerSettingsViewport;
+ private JPanel ruleSetupPanel;
+
+ private LinkedList<PlayerSettingsPanel> playerSettingsPanels = new LinkedList<PlayerSettingsPanel>();
+
+ private void addPlayerSettings() {
+ PlayerSettingsPanel panel = new PlayerSettingsPanel();
+ playerSettingsPanels.add(panel);
+ playerSettingsViewport.add(panel,
+ playerSettingsViewport.getComponentCount() - 1);
+ }
+
+ private void createPlayerSetupPanel() {
+ playerSetupPanel = new JPanel();
+ playerSetupPanel.setLayout(new BorderLayout());
+
+ playerSettingsViewport = new JPanel();
+ playerSettingsViewport.setLayout(new BoxLayout(playerSettingsViewport,
+ BoxLayout.Y_AXIS));
+
+ JScrollPane scrollPane = new JScrollPane(playerSettingsViewport,
+ JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
+ JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
+ playerSetupPanel.add(scrollPane);
+
+ playerSettingsViewport.add(new JButton("Neuer Spieler"));
+
+ addPlayerSettings();
+ addPlayerSettings();
+ }
+
+ private void createRuleSetupPanel() {
+ ruleSetupPanel = new JPanel();
+ }
+
+ SettingsPanel() {
+ setLayout(new BorderLayout());
+
+ final JTabbedPane tabbedPane = new JTabbedPane();
+
+ createPlayerSetupPanel();
+ tabbedPane.addTab("Spieler", playerSetupPanel);
+
+ createRuleSetupPanel();
+ tabbedPane.addTab("Regeln", ruleSetupPanel);
+
+ add(tabbedPane);
+
+ JButton startButton = new JButton("Spiel starten");
+ add(startButton, BorderLayout.SOUTH);
+
+ setBorder(new CompoundBorder(new LineBorder(Color.BLACK), new EmptyBorder(
+ 10, 10, 10, 10)));
+
+ addComponentListener(new ComponentAdapter() {
+ @Override
+ public void componentResized(ComponentEvent e) {
+ // Insets insets = getInsets();
+ // int x = insets.left, y = insets.top, width = getWidth() - insets.left
+ // - insets.right, height = getHeight() - insets.top - insets.bottom;
+
+ // tabbedPane.setBounds(x, y, width, height);
+ }
+ });
+ }
+
+ private static class PlayerSettingsPanel extends JPanel {
+ PlayerSettingsPanel() {
+ setLayout(new BorderLayout());
+
+ add(new JButton(ImageUtil.createColorIcon(Color.RED, 16)),
+ BorderLayout.WEST);
+ add(new JTextField());
+ add(new JButton("\u2716"), BorderLayout.EAST);
+ }
+
+ @Override
+ public Dimension getPreferredSize() {
+ return getComponent(1).getPreferredSize();
+ }
+
+ @Override
+ public Dimension getMaximumSize() {
+ return new Dimension(Integer.MAX_VALUE, getPreferredSize().height);
+ }
+ }
+}