diff --git a/src/main/java/de/tims/fleetstorm/gui/GUI.java b/src/main/java/de/tims/fleetstorm/gui/GUI.java index 10f7d8a..5bd0a99 100644 --- a/src/main/java/de/tims/fleetstorm/gui/GUI.java +++ b/src/main/java/de/tims/fleetstorm/gui/GUI.java @@ -13,8 +13,18 @@ import javax.swing.border.MatteBorder; public class GUI extends JPanel { private ArrayList fields; - - public GUI() { + private JLabel matchfieldValue; + private JLabel moveValue; + private JLabel own2Ship; + private JLabel own3Ship; + private JLabel own4Ship; + private JLabel own5Ship; + private JLabel enemy2Ship; + private JLabel enemy3Ship; + private JLabel enemy4Ship; + private JLabel enemy5Ship; + + public GUI(int gapToFrameBorder, int fieldWidth, int spaceBetween) { this.fields = new ArrayList<>(); setSize(640, 480); @@ -34,128 +44,129 @@ public class GUI extends JPanel { infoWrapper.add(yourFleet); yourFleet.setLayout(null); - JPanel panel_1 = new JPanel(); - panel_1.setBounds(0, 0, 228, 27); - yourFleet.add(panel_1); - panel_1.setLayout(null); + JPanel ownFleetHeadingPanel = new JPanel(); + ownFleetHeadingPanel.setBounds(0, 0, 228, 27); + yourFleet.add(ownFleetHeadingPanel); + ownFleetHeadingPanel.setLayout(null); JLabel ownFleetHeading = new JLabel("Deine Flotte:"); ownFleetHeading.setBounds(0, 0, 228, 17); - panel_1.add(ownFleetHeading); + ownFleetHeadingPanel.add(ownFleetHeading); ownFleetHeading.setFont(new Font("Tahoma", Font.BOLD, 14)); - JPanel panel_2 = new JPanel(); - panel_2.setBounds(0, 26, 228, 67); - yourFleet.add(panel_2); - panel_2.setLayout(new GridLayout(0, 2, 0, 3)); + JPanel ownFleetContentPanel = new JPanel(); + ownFleetContentPanel.setBounds(0, 26, 228, 67); + yourFleet.add(ownFleetContentPanel); + ownFleetContentPanel.setLayout(new GridLayout(0, 2, 0, 3)); JLabel own2ShipLabel = new JLabel("1x2 Schiff"); - panel_2.add(own2ShipLabel); + ownFleetContentPanel.add(own2ShipLabel); - JLabel own2Ship = new JLabel("OK"); - panel_2.add(own2Ship); + own2Ship = new JLabel("OK"); + ownFleetContentPanel.add(own2Ship); JLabel own3ShipLabel = new JLabel("1x3 Schiff"); - panel_2.add(own3ShipLabel); + ownFleetContentPanel.add(own3ShipLabel); - JLabel own3Ship = new JLabel("OK"); - panel_2.add(own3Ship); + own3Ship = new JLabel("OK"); + ownFleetContentPanel.add(own3Ship); JLabel own4ShipLabel = new JLabel("1x4 Schiff"); - panel_2.add(own4ShipLabel); + ownFleetContentPanel.add(own4ShipLabel); - JLabel own4Ship = new JLabel("OK"); - panel_2.add(own4Ship); + own4Ship = new JLabel("OK"); + ownFleetContentPanel.add(own4Ship); JLabel own5ShipLabel = new JLabel("1x5 Schiff"); - panel_2.add(own5ShipLabel); + ownFleetContentPanel.add(own5ShipLabel); - JLabel own5Ship = new JLabel("OK"); - panel_2.add(own5Ship); + own5Ship = new JLabel("OK"); + ownFleetContentPanel.add(own5Ship); JPanel enemyFleet = new JPanel(); enemyFleet.setLayout(null); enemyFleet.setBounds(10, 237, 228, 93); infoWrapper.add(enemyFleet); - JPanel panel_1_1 = new JPanel(); - panel_1_1.setLayout(null); - panel_1_1.setBounds(0, 0, 228, 27); - enemyFleet.add(panel_1_1); + JPanel enemyFleetHeadingPanel = new JPanel(); + enemyFleetHeadingPanel.setLayout(null); + enemyFleetHeadingPanel.setBounds(0, 0, 228, 27); + enemyFleet.add(enemyFleetHeadingPanel); JLabel enemyFleetHeading = new JLabel("Gegnerische Flotte:"); enemyFleetHeading.setFont(new Font("Tahoma", Font.BOLD, 14)); enemyFleetHeading.setBounds(0, 0, 228, 17); - panel_1_1.add(enemyFleetHeading); + enemyFleetHeadingPanel.add(enemyFleetHeading); - JPanel panel_2_1 = new JPanel(); - panel_2_1.setBounds(0, 26, 228, 67); - enemyFleet.add(panel_2_1); - panel_2_1.setLayout(new GridLayout(0, 2, 0, 3)); + JPanel enemyFleetContentPanel = new JPanel(); + enemyFleetContentPanel.setBounds(0, 26, 228, 67); + enemyFleet.add(enemyFleetContentPanel); + enemyFleetContentPanel.setLayout(new GridLayout(0, 2, 0, 3)); JLabel enemy2ShipLabel = new JLabel("1x2 Schiff"); - panel_2_1.add(enemy2ShipLabel); + enemyFleetContentPanel.add(enemy2ShipLabel); - JLabel enemy2Ship = new JLabel("OK"); - panel_2_1.add(enemy2Ship); + enemy2Ship = new JLabel("OK"); + enemyFleetContentPanel.add(enemy2Ship); JLabel enemy3ShipLabel = new JLabel("1x3 Schiff"); - panel_2_1.add(enemy3ShipLabel); + enemyFleetContentPanel.add(enemy3ShipLabel); - JLabel enemy3Ship = new JLabel("OK"); - panel_2_1.add(enemy3Ship); + enemy3Ship = new JLabel("OK"); + enemyFleetContentPanel.add(enemy3Ship); JLabel enemy4ShipLabel = new JLabel("1x4 Schiff"); - panel_2_1.add(enemy4ShipLabel); + enemyFleetContentPanel.add(enemy4ShipLabel); - JLabel enemy4Ship = new JLabel("OK"); - panel_2_1.add(enemy4Ship); + enemy4Ship = new JLabel("OK"); + enemyFleetContentPanel.add(enemy4Ship); JLabel enemy5ShipLabel = new JLabel("1x5 Schiff"); - panel_2_1.add(enemy5ShipLabel); + enemyFleetContentPanel.add(enemy5ShipLabel); - JLabel enemy5Ship = new JLabel("OK"); - panel_2_1.add(enemy5Ship); + enemy5Ship = new JLabel("OK"); + enemyFleetContentPanel.add(enemy5Ship); JPanel infos = new JPanel(); infos.setLayout(null); infos.setBounds(10, 11, 228, 68); infoWrapper.add(infos); - JPanel panel_1_2 = new JPanel(); - panel_1_2.setLayout(null); - panel_1_2.setBounds(0, 0, 228, 27); - infos.add(panel_1_2); + JPanel gameInfoHeadingPanel = new JPanel(); + gameInfoHeadingPanel.setLayout(null); + gameInfoHeadingPanel.setBounds(0, 0, 228, 27); + infos.add(gameInfoHeadingPanel); JLabel gameInfoHeading = new JLabel("Spielinfos"); gameInfoHeading.setFont(new Font("Tahoma", Font.BOLD, 14)); gameInfoHeading.setBounds(0, 0, 228, 17); - panel_1_2.add(gameInfoHeading); + gameInfoHeadingPanel.add(gameInfoHeading); - JPanel panel_2_2 = new JPanel(); - panel_2_2.setBounds(0, 26, 228, 31); - infos.add(panel_2_2); - panel_2_2.setLayout(new GridLayout(0, 2, 0, 3)); + JPanel gameInfoContentPanel = new JPanel(); + gameInfoContentPanel.setBounds(0, 26, 228, 31); + infos.add(gameInfoContentPanel); + gameInfoContentPanel.setLayout(new GridLayout(0, 2, 0, 3)); JLabel matchfieldLabel = new JLabel("Spielfeld"); - panel_2_2.add(matchfieldLabel); + gameInfoContentPanel.add(matchfieldLabel); - JLabel matchfieldValue = new JLabel("Eigenes"); - panel_2_2.add(matchfieldValue); + matchfieldValue = new JLabel("Eigenes"); + gameInfoContentPanel.add(matchfieldValue); JLabel moveLabel = new JLabel("Am Zug"); - panel_2_2.add(moveLabel); - - JLabel moveValue = new JLabel("Du"); - panel_2_2.add(moveValue); + gameInfoContentPanel.add(moveLabel); - int gap = 30; - int width = 28; + moveValue = new JLabel("Du"); + gameInfoContentPanel.add(moveValue); for (int x = 0; x < 10; x++) { for (int y = 0; y < 10; y++) { JPanel field = new JPanel(); - field.setBounds(gap + x * width, gap + y * width, width, width); + + int xPos = gapToFrameBorder + x * fieldWidth + (x * spaceBetween); + int yPos = gapToFrameBorder + y * fieldWidth + (y * spaceBetween); + + field.setBounds(xPos, yPos, fieldWidth, fieldWidth); field.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0))); fields.add(field); fieldWrapper.add(field); @@ -164,12 +175,56 @@ public class GUI extends JPanel { } + public ArrayList getFields() { + return fields; + } + + public JLabel getMatchfieldValue() { + return matchfieldValue; + } + + public JLabel getMoveValue() { + return moveValue; + } + + public JLabel getOwn2Ship() { + return own2Ship; + } + + public JLabel getOwn3Ship() { + return own3Ship; + } + + public JLabel getOwn4Ship() { + return own4Ship; + } + + public JLabel getOwn5Ship() { + return own5Ship; + } + + public JLabel getEnemy2Ship() { + return enemy2Ship; + } + + public JLabel getEnemy3Ship() { + return enemy3Ship; + } + + public JLabel getEnemy4Ship() { + return enemy4Ship; + } + + public JLabel getEnemy5Ship() { + return enemy5Ship; + } + /** * This function is only for testing */ public static void main(String[] args) { JFrame frame = new JFrame("Test GUI"); - GUI gui = new GUI(); + GUI gui = new GUI(15, 28, 1); frame.setContentPane(gui); frame.setSize(640, 480); frame.setResizable(true);