THIS IS THE START OF MY ACTUAL CODE; import javax.swing.*; import java.awt.*; im
ID: 3791111 • Letter: T
Question
THIS IS THE START OF MY ACTUAL CODE;
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:
JPanel top;
JButton JButton("3 x 3");
JButton two = new JButton("4 x 4");
JButton three = new JButton("5 x 5");
// 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:
BorderLayout bl = new BorderLayout();
// set the layout manager of the content pane contents to bl:
contents.setLayout(bl);
game = new Game(3); // instantiating the GamePanel object
// add panel (game) to the center of the content pane
contents.add(game,BorderLayout.CENTER);
// 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 JPanel();
// set the layout of top to a 1-by-3 grid
GridLayout grid = new GridLayout(1,3);
top.setLayout(grid);
// instantiate the JButtons that determine the grid size
> two =
three =
// add the buttons to JPanel top
// add JPanel top to the content pane as its north component
// 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
// 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:
// Part 4 student code ends here.
public static void main(String[] args)
{
NestedLayoutPractice nl = new NestedLayoutPractice();
nl.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Explanation / Answer
In a grid layout, everything will be aligned. if you don't want this you can go for any these solution whichever work best for you.
1) try using grid layout only. avoid both together.
2)use Layout Manager and give more information to work with. what I mean is use the BoxLayout that respects the maximum size of a component.
if you facing a problem with code part there something you start your part III with.
same for button 2X2 and 3X3
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.