I am trying to place my JButton which has Image form to a desired place on my JFrame but when I define method setBounds for this particular button it is not working as expected and button is still on the same place. Code below:
public
class GameFrame {
JButton atB = new JButton();
JButton beB = new JButton();
JButton bgB = new JButton();
JButton czB = new JButton();
JButton deB = new JButton();
JButton dkB = new JButton();
JButton esB = new JButton();
JButton plB = new JButton();
JButton roB = new JButton();
JButton ruB = new JButton();
public GameFrame(){
generateGameFrame();
}
public void generateGameFrame() {
JPanel gamePanel;
Countries countries = new Countries();
JFrame gameFrame = new JFrame("Koronawirus AntiPlague - Game");
try {
gameFrame.setIconImage(ImageIO.read(GameFrame.class.getResourceAsStream("/resources/images/Icon.png")));
} catch (IOException ex) {
ex.printStackTrace();
}
gamePanel = new JPanel() {
public void paintComponent(Graphics g) {
Image img = Toolkit.getDefaultToolkit().getImage(
MenuFrame.class.getResource("/resources/images/map.png"));
g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
}
};
gameFrame.setContentPane(gamePanel);
gameFrame.setSize(700, 700);
gameFrame.setVisible(true);
gameFrame.setResizable(false);
gameFrame.setLocationRelativeTo(null);
gameFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
loadImageAsButtonAndDesign();
gamePanel.add(atB);
}
public void loadImageAsButtonAndDesign()
{
try {
Image img = ImageIO.read(getClass().getResource("/resources/images/at.png"));
atB.setIcon(new ImageIcon(img));
} catch (Exception ex) {
System.out.println(ex);
}
atB.setBorderPainted(false);
atB.setOpaque(false);
atB.setBackground(Color.DARK_GRAY.darker());
atB.setBounds(100,100,20,15);
}
}
As you can see above I am trying setBounds but unsuccessfully. I was trying also:
atB.setLayout(null);