Yorumları: 10
Konuları: 6
Kayıt Tarihi: 10-09-2017
Rep Puanı:
0
Kod:
package anapaket;
import java.awt.Graphics;
import javax.swing.JPanel;
public class ciz extends JPanel {
public ciz() {
// TODO Auto-generated constructor stub
}
public void paintComponent(Graphics g) {
super.paint(g);
g.drawLine(10, 10, 400, 400);
}
}
Kod:
package anapaket;
import javax.swing.*;
import java.awt.*;
public class anamain {
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame pencere = new JFrame ();
pencere.add(new ciz());
pencere.setSize(640, 480);
//pencere.setDefaultCloseOperation(pencere.EXIT_ON_CLOSE);
pencere.setVisible(true);
}
}
HATA :
Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
SADECE EKRANA ÇİZDİ ÇİZMEK İSTEMİŞTİM . ÖNCEDEN OLMUYORDU FAKAT ŞİMDİ OLUYOR NERDE YANLIŞ YAPIYORUM
Yorumları: 265
Konuları: 186
Kayıt Tarihi: 14-05-2013
Rep Puanı:
14
"anamain" adlı sınıf için;
PHP Kod:
<?php
import javax.swing.JFrame;
"ciz" adlı sınıf için;
PHP Kod:
<?php
import java.awt.Graphics;
import javax.swing.JPanel;
Şeklinde bir dene. Diğer import satırlarını kaldır.
Kodlarda herhangi bir sorun gözükmüyor.
Yorumları: 10
Konuları: 6
Kayıt Tarihi: 10-09-2017
Rep Puanı:
0
13-09-2017, 21:56
(Son Düzenleme: 13-09-2017, 22:17, Düzenleyen: altayamt.)
teşekkürler admin eclipse i sildim bir daha yüklüyorum şimdi denerim ve geri dönüş yaparım .
(13-09-2017, 21:44)Administrator Adlı Kullanıcıdan Alıntı: "anamain" adlı sınıf için;
PHP Kod:
<?php
import javax.swing.JFrame;
"ciz" adlı sınıf için;
PHP Kod:
<?php
import java.awt.Graphics;
import javax.swing.JPanel;
Şeklinde bir dene. Diğer import satırlarını kaldır.
Kodlarda herhangi bir sorun gözükmüyor.hala aynı hatayı veriyo başka bir fikrin var mı admin
hatayı çözdüm yinede saol senin kadar üyeleri ile ilgilenen admin görmedim hayatımda yaptığım şey .
super.paint(g); yu silmek oldu ama neden öyle oldu . bunu merak ettim .
Yorumları: 265
Konuları: 186
Kayıt Tarihi: 14-05-2013
Rep Puanı:
14
13-09-2017, 22:56
(Son Düzenleme: 13-09-2017, 23:01, Düzenleyen: Administrator.)
"paintComponent(Graphics g)" metodunu override edip çizim işlemi yaptığımız için üst sınıfın paintComponent() metodunu çağırarak olası bir hatanın önüne geçmiş oluyoruz. Yani super ile kullanıp, override edip genişletmekte olduğumuz metodun orijinal halindeki varsayılan çizim kodlarının da çalıştırılmasını sağlamış oluyoruz. Override edilen metodlarda uygulamanın sağlıklı çalışması için bu işlemi yapıyoruz.
Denemediysen; Java sdk ve jre ile ilgili kurulumları sisteminden kaldırıp jdk'nın güncel sürümünü kurup tekrar test etmeni öneririm.