Practice using layouts Anderson Franceschi import javaxswi

/* Practice using layouts
Anderson, Franceschi
*/

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class NestedLayoutPractice extends JFrame
{
private Container contents;
private Game game;

private BorderLayout bl;

private JLabel bottom;

// ***** Task 1: declare a JPanel named top
// also declare three JButton instance variables
// that will be added to the JPanel top
// these buttons will determine the grid size of the game:
// 3-by-3, 4-by-4, or 5-by-5
// Part 1 student code starts here:
private final JPanel top;
private JButton [] topButtones;

String [] topGridSize =
{\"3-by-3\",
\"4-by-4\",
\"5-by-5\",
};

private JButton reset;
// Part 1 student code ends here.

public NestedLayoutPractice()
{
super(\"Practicing layout managers\");
contents = getContentPane();

// ***** Task 2:
// instantiate the BorderLayout manager bl
  
// Part 2 student code starts here:
// set the layout manager of the content pane contents to bl:
// bl = new BorderLayout (); (not suer if this is right)
//set.BorderLayout(bl); (not suer if this is right)

game = new Game(3); // instantiating the GamePanel object


// add panel (game) to the center of the content pane

// Part 2 student code ends here.

bottom = new JLabel(\"Have fun playing this Tile Puzzle game\",
SwingConstants.CENTER);

// ***** Task 3:
// instantiate the JPanel component named top
// Part 3 student code starts here:
//top = new JPanle ();(not suer if this is right)
// set the layout of top to a 1-by-3 grid(not suer if this is right)
// panel.setLayout (new GridLayout (3, 1));(not suer if this is right)


// instantiate the JButtons that determine the grid size
// topButtones [0] = new JButton (\"3-by-3 \"); (not suer if this is right)

// add the buttons to JPanel top
//top.add (topButtones[0]);(not suer if this is right)
//top.add (topButtones[1]);
//top.add (topButtones[2]);


// add JPanel top to the content pane as its north component

c.add(top, \"north\");

// Part 3 student code ends here.

// ***** Task 5:
// Note: search for and complete Task 4 before performing this task
// Part 5 student code starts here:

// declare and instantiate an ActionListener
//topButtones[0].addActionListnere(this);(not suer if this is right)
//topButtones[1].addActionListnere(this);
//topButtones[2].addActionListnere(this);

// register the listener on the 3 buttons
// that you declared in Task 1

// Part 5 student code ends here.

contents.add(bottom, BorderLayout.SOUTH);

setSize(325, 325);
setVisible(true);
}

// ***** Task 4:
// create a private inner class that implements ActionListener
// your method should identify which of the 3 buttons
// was the source of the event
// depending on which button was pressed,
// call the setUpGame method of the Game class
// with arguments 3, 4, or 5
// the API of that method is:
// public void setUpGame(int nSides)
// At the end of the method call validate()
// Part 4 student code starts here:
public void actionPreformed(ActionEvent ae)
{
if (ae.getActionCommand(). equals (\"3-by-3\"))
game = new Game (3);
else if(ae.getActionCommand(). equals (\"4-by-4\"))
game = new game (3);
else if(ae.getActionCommand(). equals (\"5-by-5\"))
game = new game (3);
}
// Part 4 student code ends here.

public static void main(String[] args)
{
NestedLayoutPractice nl = new NestedLayoutPractice();
nl.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

Solution

TilePuzzle Class

Game class

/* Practice using layouts Anderson, Franceschi */ import javax.swing.*; import java.awt.*; import java.awt.event.*; public class NestedLayoutPractice extends JF
/* Practice using layouts Anderson, Franceschi */ import javax.swing.*; import java.awt.*; import java.awt.event.*; public class NestedLayoutPractice extends JF
/* Practice using layouts Anderson, Franceschi */ import javax.swing.*; import java.awt.*; import java.awt.event.*; public class NestedLayoutPractice extends JF

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site