I added Jbuttons but I cant see them I tried many things, but then no luck.
Any help would be really appreciated!
Here is the code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class GameBoard extends JFrame implements Runnable
{
private Image imgBG, imgPlayers, imgDice1, imgDice2;
private ImageIcon imgButtonGreen, imgButtonRed, imgButtonRollDice;
private Image img0, img1, img2, img3, img4, img5, img6, img7, img8, img9;
private JButton btnSkill1, btnSkill2, btnSkill3, btnSkill4, btnRollDice;
private Random objRandom = new Random();
private boolean bThrowedDice, bUseSkill;
private int nCurrentPlayer, nMoves, nTemp;
private JPanel panelMain = new JPanel();
private Character[] objCharacter = new Character[3];
public GameBoard(int nNumberOfPlayers)
{
super("Sample Game Board");
//JFrame attributes
setBounds(120,80,0,0);
pack();
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//JPanel attributes
panelMain.setPreferredSize(new Dimension(800,600));
panelMain.setLayout(null);
add(panelMain);
//panelMain.add(this);
//Sets GameBoard Image
imgBG = (new ImageIcon("images/GameBoard.png").getImage());
Dimension objDimension = new Dimension(imgBG.getWidth(null),imgBG.getHeight(nul l));
setPreferredSize(objDimension);
setMinimumSize(objDimension);
setMaximumSize(objDimension);
setSize(objDimension);
setLayout(null);
setVisible(true);
//Starting variables
nCurrentPlayer = 1;
nMoves = 0;
bThrowedDice = false;
bUseSkill = true;
//bUseSkill:
//true = Skill can be used this turn
//false = Skill already been used this turn
//JButtons define
imgButtonRed = new ImageIcon("images/RedButton.png");
btnSkill1 = new JButton(imgButtonRed);
btnSkill2 = new JButton(imgButtonRed);
btnSkill3 = new JButton(imgButtonRed);
btnSkill4 = new JButton(imgButtonRed);
btnSkill1.setBounds(650, 400, btnSkill1.getHeight(), btnSkill1.getWidth());
btnSkill2.setBounds(650, 430, btnSkill2.getHeight(), btnSkill2.getWidth());
btnSkill3.setBounds(650, 460, btnSkill3.getHeight(), btnSkill3.getWidth());
btnSkill4.setBounds(650, 490, btnSkill4.getHeight(), btnSkill4.getWidth());
imgButtonGreen = new ImageIcon("images/GreenButton.png");
imgDice1 = (new ImageIcon("images/Die1.png").getImage());
imgDice2 = (new ImageIcon("images/Die2.png").getImage());
imgButtonRollDice = new ImageIcon("images/RollDice.png");
btnRollDice = new JButton("SAMPLE");
btnRollDice.setBounds(380, 515, btnRollDice.getHeight(), btnRollDice.getWidth());
panelMain.add(btnSkill1);
panelMain.add(btnSkill2);
panelMain.add(btnSkill3);
panelMain.add(btnSkill4);
panelMain.add(btnRollDice);
//Creates Character objects depending how many players
for (int i = 0; i < nNumberOfPlayers; i++)
objCharacter[i] = new Character((i+1));
}
public void run()
{
if (bThrowedDice == true)
{
repaint();
}
if (bUseSkill = true)
{
}
}
public void paint(Graphics g)
{
g.drawImage(imgBG, 0, 0, null);
//g.drawImage(imgDice1, 230, 515, null);
//g.drawImage(imgDice2, 290, 515, null);
//Roll the dice
if (bThrowedDice == true)
{
g.drawImage(imgDice1, 50, 450, null);
g.drawImage(imgDice2, 85, 450, null);
nMoves = 0;
bThrowedDice = false;
}
}
}
I think it has something to do with the paint function? or not? However, I am sure that the locations of the image is correct because I tried using g.DrawImage inside method paint to show that the pictures can be loaded. Are there other ways to show the buttons? I tried setVisible(true) and setEnabled(true) but then no luck. Any help, suggestion, ideas, or any thing else is welcomed thanks