From 745f66eff6833883e6e020a7ed0f2989b26535f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A1niel?= <Dániel@kovax-pc> Date: Wed, 27 Nov 2013 17:20:40 +0100 Subject: [PATCH] =?UTF-8?q?TopPlayer=20k=C3=A9sz=20M=C3=A9g=20nem=20rakja?= =?UTF-8?q?=20sorba=20a=20j=C3=A1t=C3=A9kosokat,=20=C3=A9s=20undor=C3=ADt?= =?UTF-8?q?=C3=B3=20a=20design.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- settings2.dat | Bin 440 -> 9283 bytes src/GUI/menu/Controller.java | 2 +- src/GUI/menu/View.form | 43 ++++++++++++--- src/GUI/menu/View.java | 67 ++++++++++++++++++------ src/GUI/settings/Controller.java | 1 + src/GUI/settings/Model.java | 3 ++ src/GUI/settings/SettingsViewPanel.java | 3 ++ src/Program/Game.java | 3 ++ src/Program/Player.java | 24 ++++++++- src/Program/Program.java | 4 +- src/Program/Settings.java | 38 +++++++++++++- 11 files changed, 159 insertions(+), 29 deletions(-) diff --git a/settings2.dat b/settings2.dat index f3f84bafa0f4e45428da95d31d7f559fca04ee25..843909e98fcbd1f726ce8eb901724fbcb52991de 100644 GIT binary patch literal 9283 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 delta 114 zcmX@?v4eSn1jm%FUwmTTM|~zLtYIve?4_*4VV*e0Y>is&>B%L^sysY83=9lrB@E0a zsYR2QDTi7!m9sD~FfbJtGSo4!1x*9X8<#NfhUVoZ=BB0u<Rn(67J($$D@qu6i&INV NGV{`ljr39yO909%A*%oY diff --git a/src/GUI/menu/Controller.java b/src/GUI/menu/Controller.java index c46680f..14b330d 100644 --- a/src/GUI/menu/Controller.java +++ b/src/GUI/menu/Controller.java @@ -17,7 +17,7 @@ public class Controller public View view; private Model model; - private Menu menu; + public Menu menu; public Controller(Menu menu) diff --git a/src/GUI/menu/View.form b/src/GUI/menu/View.form index 4e37edc..bb2498f 100644 --- a/src/GUI/menu/View.form +++ b/src/GUI/menu/View.form @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" ?> -<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JPanelFormInfo"> +<Form version="1.3" maxVersion="1.8" type="org.netbeans.modules.form.forminfo.JPanelFormInfo"> <Properties> <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor"> <Dimension value="[400, 400]"/> @@ -30,8 +30,8 @@ <Component id="jPanel2" min="-2" pref="180" max="-2" attributes="0"/> <EmptySpace type="unrelated" max="-2" attributes="0"/> <Component id="jSeparator1" min="-2" max="-2" attributes="0"/> - <EmptySpace max="-2" attributes="0"/> - <Component id="jPanel1" pref="187" max="32767" attributes="0"/> + <EmptySpace type="separate" max="-2" attributes="0"/> + <Component id="rightPanel" pref="182" max="32767" attributes="0"/> <EmptySpace max="-2" attributes="0"/> </Group> </Group> @@ -41,9 +41,9 @@ <Group type="102" alignment="1" attributes="0"> <EmptySpace max="-2" attributes="0"/> <Group type="103" groupAlignment="1" attributes="0"> - <Component id="jPanel2" pref="378" max="32767" attributes="0"/> + <Component id="jPanel2" pref="445" max="32767" attributes="0"/> <Component id="jSeparator1" alignment="0" max="32767" attributes="0"/> - <Component id="jPanel1" pref="378" max="32767" attributes="0"/> + <Component id="rightPanel" pref="445" max="32767" attributes="0"/> </Group> <EmptySpace max="-2" attributes="0"/> </Group> @@ -51,7 +51,7 @@ </DimensionLayout> </Layout> <SubComponents> - <Container class="javax.swing.JPanel" name="jPanel1"> + <Container class="javax.swing.JPanel" name="rightPanel"> <Properties> <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor"> <Dimension value="[200, 150]"/> @@ -61,9 +61,13 @@ <Layout> <DimensionLayout dim="0"> <Group type="103" groupAlignment="0" attributes="0"> - <Group type="102" attributes="0"> + <Group type="102" alignment="0" attributes="0"> <EmptySpace min="-2" pref="43" max="-2" attributes="0"/> - <Component id="jLabel3" pref="134" max="32767" attributes="0"/> + <Component id="jLabel3" max="32767" attributes="0"/> + <EmptySpace min="-2" pref="93" max="-2" attributes="0"/> + </Group> + <Group type="102" alignment="0" attributes="0"> + <Component id="jScrollPane1" pref="0" max="32767" attributes="0"/> <EmptySpace max="-2" attributes="0"/> </Group> </Group> @@ -73,6 +77,8 @@ <Group type="102" alignment="0" attributes="0"> <EmptySpace min="-2" pref="34" max="-2" attributes="0"/> <Component id="jLabel3" min="-2" max="-2" attributes="0"/> + <EmptySpace type="unrelated" max="-2" attributes="0"/> + <Component id="jScrollPane1" min="-2" pref="375" max="-2" attributes="0"/> <EmptySpace max="32767" attributes="0"/> </Group> </Group> @@ -84,6 +90,27 @@ <Property name="text" type="java.lang.String" value="Top Players"/> </Properties> </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane1"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JTable" name="topPlayerTable"> + <Properties> + <Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor"> + <Table columnCount="4" rowCount="4"> + <Column editable="true" title="Title 1" type="java.lang.Object"/> + <Column editable="true" title="Title 2" type="java.lang.Object"/> + <Column editable="true" title="Title 3" type="java.lang.Object"/> + <Column editable="true" title="Title 4" type="java.lang.Object"/> + </Table> + </Property> + </Properties> + </Component> + </SubComponents> + </Container> </SubComponents> </Container> <Container class="javax.swing.JPanel" name="jPanel2"> diff --git a/src/GUI/menu/View.java b/src/GUI/menu/View.java index f7e2b24..af4a593 100644 --- a/src/GUI/menu/View.java +++ b/src/GUI/menu/View.java @@ -7,6 +7,9 @@ package GUI.menu; import GUI.Window.Window; +import Program.Player; +import java.util.ArrayList; +import javax.swing.JTable; /** @@ -21,17 +24,27 @@ public class View extends Window Boolean newGameButtonPressed = false; Boolean settingsButtonPressed = false; Boolean aboutButtonPresses = false; + JTable topTable; public View(Controller controller, Model model) { this.controller = controller; this.model = model; + initComponents(); //this.setSize(windowWidth,windowHeight); this.setVisible(true); + this.createWindow(); this.frame.setResizable( false ); + this.getTopPlayers(); + } + public void getTopPlayers() + { + this.topPlayerTable.setModel(this.controller.menu.game.settings); + + } @@ -46,8 +59,10 @@ public class View extends Window // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { - jPanel1 = new javax.swing.JPanel(); + rightPanel = new javax.swing.JPanel(); jLabel3 = new javax.swing.JLabel(); + jScrollPane1 = new javax.swing.JScrollPane(); + topPlayerTable = new javax.swing.JTable(); jPanel2 = new javax.swing.JPanel(); newGameBTN = new javax.swing.JButton(); settingsBTN = new javax.swing.JButton(); @@ -59,24 +74,42 @@ public class View extends Window setPreferredSize(new java.awt.Dimension(400, 400)); setWindosWidth(400); - jPanel1.setPreferredSize(new java.awt.Dimension(200, 150)); + rightPanel.setPreferredSize(new java.awt.Dimension(200, 150)); jLabel3.setText("Top Players"); - javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); - jPanel1.setLayout(jPanel1Layout); - jPanel1Layout.setHorizontalGroup( - jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel1Layout.createSequentialGroup() + topPlayerTable.setModel(new javax.swing.table.DefaultTableModel( + new Object [][] { + {null, null, null, null}, + {null, null, null, null}, + {null, null, null, null}, + {null, null, null, null} + }, + new String [] { + "Title 1", "Title 2", "Title 3", "Title 4" + } + )); + jScrollPane1.setViewportView(topPlayerTable); + + javax.swing.GroupLayout rightPanelLayout = new javax.swing.GroupLayout(rightPanel); + rightPanel.setLayout(rightPanelLayout); + rightPanelLayout.setHorizontalGroup( + rightPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(rightPanelLayout.createSequentialGroup() .addGap(43, 43, 43) - .addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, 134, Short.MAX_VALUE) + .addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(93, 93, 93)) + .addGroup(rightPanelLayout.createSequentialGroup() + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) .addContainerGap()) ); - jPanel1Layout.setVerticalGroup( - jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel1Layout.createSequentialGroup() + rightPanelLayout.setVerticalGroup( + rightPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(rightPanelLayout.createSequentialGroup() .addGap(34, 34, 34) .addComponent(jLabel3) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); @@ -149,8 +182,8 @@ public class View extends Window .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 180, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 187, Short.MAX_VALUE) + .addGap(18, 18, 18) + .addComponent(rightPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 182, Short.MAX_VALUE) .addContainerGap()) ); layout.setVerticalGroup( @@ -158,9 +191,9 @@ public class View extends Window .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, 378, Short.MAX_VALUE) + .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, 445, Short.MAX_VALUE) .addComponent(jSeparator1, javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 378, Short.MAX_VALUE)) + .addComponent(rightPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 445, Short.MAX_VALUE)) .addContainerGap()) ); }// </editor-fold>//GEN-END:initComponents @@ -183,10 +216,12 @@ public class View extends Window private javax.swing.JButton aboutBTN; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; - private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; + private javax.swing.JScrollPane jScrollPane1; private javax.swing.JSeparator jSeparator1; private javax.swing.JButton newGameBTN; + private javax.swing.JPanel rightPanel; private javax.swing.JButton settingsBTN; + private javax.swing.JTable topPlayerTable; // End of variables declaration//GEN-END:variables } diff --git a/src/GUI/settings/Controller.java b/src/GUI/settings/Controller.java index b452fbd..29a6e67 100644 --- a/src/GUI/settings/Controller.java +++ b/src/GUI/settings/Controller.java @@ -43,6 +43,7 @@ public class Controller { this.model.saveSettingsToFile(); } + } diff --git a/src/GUI/settings/Model.java b/src/GUI/settings/Model.java index 6d069e1..bfeb074 100644 --- a/src/GUI/settings/Model.java +++ b/src/GUI/settings/Model.java @@ -7,6 +7,7 @@ package GUI.settings; import Program.Player; +import java.util.ArrayList; /** * @@ -84,5 +85,7 @@ public class Model return this.controller.progSettings.diff; } + + } diff --git a/src/GUI/settings/SettingsViewPanel.java b/src/GUI/settings/SettingsViewPanel.java index e88cf0f..a295424 100644 --- a/src/GUI/settings/SettingsViewPanel.java +++ b/src/GUI/settings/SettingsViewPanel.java @@ -5,7 +5,9 @@ package GUI.settings; import GUI.Window.Window; +import Program.Player; import java.awt.event.KeyEvent; +import java.util.ArrayList; import javax.swing.ButtonGroup; import javax.swing.JRadioButton; @@ -46,6 +48,7 @@ public class SettingsViewPanel extends Window { this.updateSummaryLabel(); } + private void updateSummaryLabel() { String diff = "hellyeah"; diff --git a/src/Program/Game.java b/src/Program/Game.java index 22efdc7..c078a5e 100644 --- a/src/Program/Game.java +++ b/src/Program/Game.java @@ -23,8 +23,11 @@ public class Game public Game(Settings settings) { + this.window = 0; this.settings = settings; + this.settings.game = this; + this.settings.load(); this.windowManager(0); //while( true ) //{ diff --git a/src/Program/Player.java b/src/Program/Player.java index 96f1458..20b0f53 100644 --- a/src/Program/Player.java +++ b/src/Program/Player.java @@ -5,12 +5,14 @@ package Program; import java.io.Serializable; +import java.util.Comparator; +import javax.swing.table.AbstractTableModel; /** * * @author Dániel */ -public class Player implements Serializable +public class Player implements Serializable, Comparable<Player> { public String name; public int maxScore; @@ -28,4 +30,24 @@ public class Player implements Serializable this.maxScore = maxScore; this.date = date; } + + @Override + public int compareTo(Player t) { + if( t.maxScore < this.maxScore ) + return 0; + else + return 1; + } + + + public class ComparePlayerByScore implements Comparator<Player> + { + + @Override + public int compare(Player t, Player t1) { + if( t.maxScore < t1.maxScore ) + return 0; + return 1; + } + } } diff --git a/src/Program/Program.java b/src/Program/Program.java index 286cbd8..b06cba4 100644 --- a/src/Program/Program.java +++ b/src/Program/Program.java @@ -18,8 +18,8 @@ public class Program Game game = new Game(settings); - settings.setGame(game); - settings.load(); + // settings.setGame(game); + // settings.load(); diff --git a/src/Program/Settings.java b/src/Program/Settings.java index 59f5098..0a69139 100644 --- a/src/Program/Settings.java +++ b/src/Program/Settings.java @@ -11,12 +11,14 @@ import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.ArrayList; +import java.util.Collections; +import javax.swing.table.AbstractTableModel; /** * * @author Dániel */ -public class Settings implements Serializable +public class Settings extends AbstractTableModel implements Serializable { public Player actualPlayer; public int size; @@ -126,4 +128,38 @@ public class Settings implements Serializable } this.game.settings = e; } + public ArrayList<Player> getTopPlayer(int num) + { + ArrayList<Player> temp = new ArrayList<>(); + for( int i =0;i<this.players.size();i++) + { + temp.add(this.players.get(i)); + } + Collections.sort(temp); + return temp; + } + + @Override + public int getRowCount() + { + return this.players.size(); + } + + @Override + public int getColumnCount() { + return 2; + } + + @Override + public Object getValueAt(int i, int i1) { + if( i1 == 1 ) + { + return players.get(i).maxScore; + } + else if( i1 == 0 ) + { + return players.get(i).name; + } + return 0; + } } -- GitLab