Package com.google.code.timetrail.gui

Source Code of com.google.code.timetrail.gui.TitleFrame

/*
* TitleFrame.java
* Team qq 2011
*/
package com.google.code.timetrail.gui;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.util.Random;

import javax.swing.*;

import com.google.code.timetrail.backend.*;
import com.google.code.timetrail.presenter.TitleFrameBackend;

import javax.swing.GroupLayout.Alignment;
import javax.swing.LayoutStyle.ComponentPlacement;

public class TitleFrame extends JPanel {

  /**
   *
   */
  private static final long serialVersionUID = 1L;
  private Control myGameControl;
  private JPanel myCD;
  private TitleFrameBackend titleFrameBackend;
  private ImageIcon title;
  private ImageIcon background;
  private ImageIcon star;
  private JButton newGameButton;
  private JButton loadGameButton;

  public TitleFrame(Control gameControl, JPanel cd) {
    myGameControl = gameControl;
    myCD = cd;
    titleFrameBackend = new TitleFrameBackend(myGameControl);

    title = titleFrameBackend.getTitle();
    background = titleFrameBackend.getBackground();
    star = titleFrameBackend.getStar();

    newGameButton = new JButton(titleFrameBackend.getNewGameButtonText());
    loadGameButton = new JButton(titleFrameBackend.getLoadGameButtonText());

    newGameButton.setOpaque(false);
    newGameButton.setContentAreaFilled(false);
    newGameButton.setBorderPainted(false);

    newGameButton.addMouseListener(new java.awt.event.MouseAdapter() {
      public void mouseEntered(java.awt.event.MouseEvent evt) {
        newGameButton.setIcon(titleFrameBackend.getNewGameButtonTextHover());
      }

      public void mouseExited(java.awt.event.MouseEvent evt) {
        newGameButton.setIcon(titleFrameBackend.getNewGameButtonText());
      }
    });
    newGameButton.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        myCD.add(new StartupFrame(myGameControl, myCD),
            "name_131784086749183704");
        CardLayout cd = (CardLayout) myCD.getLayout();
        cd.last(myCD);
      }
    });

    loadGameButton.setOpaque(false);
    loadGameButton.setContentAreaFilled(false);
    loadGameButton.setBorderPainted(false);

    loadGameButton.addMouseListener(new java.awt.event.MouseAdapter() {
      public void mouseEntered(java.awt.event.MouseEvent evt) {
        loadGameButton.setIcon(titleFrameBackend.getLoadGameButtonTextHover());
      }

      public void mouseExited(java.awt.event.MouseEvent evt) {
        loadGameButton.setIcon(titleFrameBackend.getLoadGameButtonText());
      }
    });
    loadGameButton.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
          try {
                    myCD.add(new LoadGameFrame(myGameControl, myCD), "TakeMove");
                } catch (ClassNotFoundException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                } catch (IOException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
                CardLayout cd = (CardLayout) myCD.getLayout();
                cd.last(myCD);
      }
    });
   
    GroupLayout groupLayout = new GroupLayout(this);
    groupLayout.setHorizontalGroup(groupLayout.createParallelGroup(
        Alignment.LEADING).addGroup(
        Alignment.TRAILING,
        groupLayout.createSequentialGroup()
            .addContainerGap(61, Short.MAX_VALUE)
            .addComponent(newGameButton).addGap(50)
            .addComponent(loadGameButton).addGap(61)));
    groupLayout
        .setVerticalGroup(groupLayout
            .createParallelGroup(Alignment.TRAILING)
            .addGroup(
                groupLayout
                    .createSequentialGroup()
                    .addContainerGap(340, Short.MAX_VALUE)
                    .addGroup(
                        groupLayout
                            .createParallelGroup(
                                Alignment.LEADING)
                            .addGroup(
                                groupLayout
                                    .createSequentialGroup()
                                    .addComponent(
                                        loadGameButton)
                                    .addContainerGap())
                            .addGroup(
                                Alignment.TRAILING,
                                groupLayout
                                    .createSequentialGroup()
                                    .addComponent(
                                        newGameButton)
                                    .addGap(32)))));
    setLayout(groupLayout);
  }

  public void paintComponent(Graphics g) {
    int height = this.getSize().height;
    int width = this.getSize().width;

    g.drawImage(background.getImage(), 0, 0, width, height, this);
    g.drawImage(title.getImage(), width / 9, height / 6, 3 * width / 4,
        height / 2, this);

    // I picked random locations, we can code this with an algorithm if you
    // really want
    g.drawImage(star.getImage(), width / 12, height / 5, this);
    g.drawImage(star.getImage(), width / 6, 7 * height / 10, this);
    g.drawImage(star.getImage(), 5 * width / 6, height / 8, this);
    g.drawImage(star.getImage(), 53 * width / 60, height / 2, this);
  }
}
TOP

Related Classes of com.google.code.timetrail.gui.TitleFrame

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.