Я новичок в Java, и для своего первого проекта я начал создавать игру Monopoly.
Я строю графический интерфейс в SWING, используя метод Graphics.
Появились две проблемы, которые яне могу найти ответ.
Во-первых, кажется, что я не могу установить цвет фона для своей JPanel, которую я ранее делал таким же образом в другой JPanel в том же проекте.
Во-вторых, я получаю NullPointerException
при попытке добавить изображение. Мне удалось исправить эту ошибку с try/catch
, но кажется, что Графика не будет рисовать. Опять я использовалтот же метод загрузки и добавления изображений в предыдущем JPanel, и он сработал.
Следует отметить, что мой JFrame на данный момент содержит 3 элемента в каждом отдельном классе и добавляется с помощью BorderLayout ().
Это код для класса, который создает проблемы:
public class MonopolyBoard extends JPanel{
Image atlantic;
MonopolyBoard() {
this.setBorder(new EtchedBorder());
this.setBackground(new Color( (80), (180), (210) )); //this code dosent work
//this throws exception without try catch
try{
ImageIcon a = new ImageIcon(this.getClass().getResource("../Card/Atlantic Ave.jpg"));
atlantic = a.getImage();
}
catch(NullPointerException e){}
}
public void paint(Graphics g){
}
Graphics2D g2 = (Graphics2D) g;
//this code should draw the image but it dosent
g2.drawImage(atlantic, 100, 100, null);
g.drawImage(atlantic, 100, 100, this);
};
}