0
JPanelを継承する "Player"というクラスがあります。クラスは属性xとyを持っています(これは問題かもしれませんが、それはわかりません)。私は次のコードを実行すると、それは(100、100)へのJPanelの場所を設定します。JPanelを継承するクラスでsetLocationが機能しない
private void initGamePanel() {
gamePanel.setBackground(Color.BLUE);
gamePanel.setVisible(true);
gamePanel.setLayout(null);
JPanel jPanel = new JPanel();
jPanel.setLocation(100, 100);
jPanel.setSize(100, 100);
jPanel.setBackground(Color.CYAN);
gamePanel.add(player);
}
しかし、私は、「プレーヤー」クラスで同じことを行うとき、位置は(0、0)にとどまります。
private void initGamePanel() {
gamePanel.setBackground(Color.BLUE);
gamePanel.setVisible(true);
gamePanel.setLayout(null);
player = new Player();
player.setLocation(100, 100);
player.setSize(100, 100);
player.setBackground(Color.CYAN);
gamePanel.add(player);
}
また、コンストラクタでplayerのxとyを設定すると、その位置はその値と同じになります。
'getX()メソッドとgetY()メソッドがある場合は、これらのメソッドはすでにJPanelによって実装されており、オーバーライドされていないので、クラスには属性xとyがあります – camickr
問題があるかもしれませんが、私はまだ問題を見つけることができない場合は、私は詳細を投稿します。 – Sjoerd
ありがとう!それは問題でした:D – Sjoerd