Question: **I need help with a Monopoly program for Java. We have to use GUI, Here are the instructions:** Write a GUI-based program that displays a

**I need help with a Monopoly program for Java. We have to use GUI, Here are the instructions:**

Write a GUI-based program that displays a Monopoly game. Add labels for the four train stations, the free space and each of the property spaces. Add buttons for all the Chance cells and set the text of these to a question mark. When the user clicks on one of the buttons, set its text to a message of your choice, chosen randomly from four messages. On the jail spot, create a drop-down list with the choices, "Just Visiting" or "In Jail". If just visiting, display a message, "Good to have a visitor." If in jail, display a message, "Crime doesn't pay!"

I'm having trouble putting one property into one square. I started with the Mediteranean Avenue, and once you look at my code you can see it is only in the bottom row, and I know why it does, it's because it is in the case/ switch. I would like to know how to do this in one square for my program correctly.

Here is my code so far:

public class Monopoly extends JFrame {

public static void main(String[] args) {

Monopoly a = new Monopoly();

a.setVisible(true);

a.setSize(500, 500);

}

public Monopoly() {

try {

// Setup the Layout

setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

GridBagLayout thisLayout = new GridBagLayout();

thisLayout.rowWeights = new double[] { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 };

thisLayout.columnWeights = new double[] { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 };

getContentPane().setLayout(thisLayout);

// Default Grid values

int gridX = 0;

int gridY = 0;

// Add Panels for Each of the four sides

for (int j = 0; j < 4; j++) {

for (int i = 0; i < 11; i++) {

JPanel tempPanel = new JPanel();

switch (j) {

case 0:// Top

gridX = i;

gridY = 0;

break;

case 1:// Left

gridX = 0;

gridY = i;

break;

case 2:// Right

gridX = 10;

gridY = i;

break;

case 3:// Bottom

gridX = i;

gridY = 10;

tempPanel.setLayout(new GridBagLayout());

GridBagConstraints c = new GridBagConstraints();

JLabel p1 = new JLabel("Mediteranean Avenue");

tempPanel.add(p1);

break;

}

getContentPane().add(tempPanel,

new GridBagConstraints(gridX,gridY, 1, 1,

0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, // Fill

new Insets(0, 0, 0, 0), 0, 0));

tempPanel.setBorder(BorderFactory.createLineBorder(Color.BLACK));

JButton button;

}

}

JPanel innerPanel = new JPanel();

getContentPane().add(innerPanel, new GridBagConstraints(1, 1, 10, 10, 0.0, 0.0, GridBagConstraints.CENTER,

GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));

innerPanel.setLayout(new GridBagLayout());

JLabel jb = new JLabel("Monolopy");

jb.setVerticalAlignment(SwingConstants.CENTER);

jb.setFont(new Font(jb.getFont().getName(), jb.getFont().getStyle(), 40));

innerPanel.add(jb);

}

catch (Exception e) {

e.printStackTrace();

}

}

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!