'dan yeni Ben java oyunlarında yeniyim. paintComponent
'u, aşağıdaki kodu kullanarak JPanel'i Snake sınıfından genişleten render sınıfında aramaya çalışıyorum. Ancak nerede yanlış gidiyorum bilmiyorum. paintComponent
yönteminin oluşturucu değil çağrısını yapabilir.probel ile arama yöntemi paintComponet (Grafik g) sınıfında sınıf Snake
public class Snake implements ActionListener
{
public Timer t=new Timer(20,this);
public Render render;
public JFrame frame;
public Toolkit toolkit;
public static Snake s;
public Snake()
{
toolkit=Toolkit.getDefaultToolkit();
frame=new JFrame();
//MenuBar menubar=new MenuBar();
render=new Render();
frame.setTitle("Nikitha's Snake");
frame.setVisible(true);
frame.setSize(800,700);
frame.setLocation(toolkit.getScreenSize().width/2, toolkit.getScreenSize().height/2);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(render);
//------------------------------------------------------------------------------
JMenuBar menubar=new JMenuBar();
JMenu file=new JMenu("File");
menubar.add(file);
JMenuItem newgame=new JMenuItem("new game");
file.add(newgame);
JMenu edit=new JMenu("Edit");
menubar.add(edit);
JMenuItem exit=new JMenuItem("Exit");
edit.add(exit);
frame.setJMenuBar(menubar);
exit.addActionListener(new ActionListener()
{
//@Override
public void actionPerformed(ActionEvent e){
System.exit(0);}
});
//------------------------------------------------------------------------------
t.start();
}
public static void main(String[] args)
{
s = new Snake();
}
@Override
public void actionPerformed(ActionEvent arg0)
{
//System.out.println("a");
render.repaint();
}
}
package snake;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
@SuppressWarnings("Serial")
public class Render extends JPanel{
public static int curcolor=0;
public void PaintComponent(Graphics g)
{
super.paintComponent(g);
System.out.println("i am inside render class");
g.setColor(Color.RED);
g.fillRect(0, 0, 800, 700);
}
}
Çok teşekkür ederim. Bunu çözmek için tam olarak bir gün harcadım: D –