Re: [Linux-programlama] Java applet ClassNotFoundException

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Ali Dereli (derelinux@gmail.com)
Date: Sat 17 Sep 2005 - 12:54:49 EEST


Merhaba;
 fikir veren herkese tesekkurler ama öyle bir sorunum varki halledipte
söylediklerinize bakamadım bile.
 Bu tarz basit sorunları listeye yansıtmayı sevmiyorum ama bazen hatayı
görecek baska bir cift göze ihtiyacı duyuyorum. Gelelim soruna yazdıgım
programın hem web tabanlı hemde consoldan calısmasını istiyorum. Geneldede
bunda başarılı oluyorum. İstisnalar haric tabi. Zamanımı götürende bu
istisnalar. Kod üzerinde anlatıyım.
 
public class eylul16 extends JApplet {
static protected JLabel label;
eylul16Panel panel;

public void init(){
getContentPane().setLayout(new BorderLayout());
panel = new eylul16Panel();
getContentPane().add("Center",panel);
label = new JLabel("");
getContentPane().add("South", label);
}
public static void main(String s[]) {
JApplet applet = new eylul16();
JFrame f = new JFrame("......");
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {System.exit(0);}
});
f.getContentPane().add(applet, BorderLayout.CENTER);
applet.init();
f.setSize(new Dimension(1000,600));
f.setVisible(true);
}
}

yukarda klasik bi kod örnegi var burda sorun oldugunu zannetmiyorum. eylul16
sınıfından türeyen nesneyi frame'e ekliyorum. sorun 16eylul sınıfında (tabi
bence).
sınıfın yapması gereken 1 saniyede bir ekrana yazı yazdırması. ama run
içerisinden repaint() dememe ragmen paintcomponent calısmıyor.
iste istisna dememdeki neden de bu. consoldan calısıyor. appletların
bilmedigim bi özelligi var o yüzden calısmıyor desem baska applet
programlarımda da calısıyor ama bu calısmıyor.

class eylul16Panel extends JPanel implements Runnable{
BufferedImage bi;
Graphics2D big;
String kelime=".............";
float xde=0;
int w=900;
int h=500;
boolean firstTime = true;
Thread t;
public eylul16Panel( ){
super(null);
System.out.println("yapılandırıcı");
t = new Thread(this);
t.start();
}
public void run() {
while(true){
try{
t.sleep(1000);
}
catch(Exception ex){
System.out.println("hata olustu" + ex);
}
xde=xde+10;
System.out.println("run cagrısı");
repaint();
System.out.println("run cagrısı2");
}
}
public void paintComponent(Graphics g){
super.paintComponent(g);
System.out.println("paint komponent");
update(g);
}
public void update(Graphics g){
System.out.println("update");
Graphics2D g2 = (Graphics2D)g;
if(firstTime){
bi=(BufferedImage) createImage(w,h);
big=bi.createGraphics();
big.setBackground(Color.LIGHT_GRAY);
big.setColor(Color.white);
big.setPaint(Color.BLUE);
big.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
firstTime = false;
}
big.clearRect(0, 0,w, h);
big.drawString(kelime, xde , 100);
big.setPaint(Color.darkGray);
big.setStroke(new BasicStroke(7.0f));
big.draw(new Rectangle(15,15,w-40,h-40));
g2.drawImage(bi, 30, 30, this);
}
}

 browserın java consolunda söyle bir cıktı oluyor:
run cagrısı

run cagrısı2

run cagrısı

run cagrısı2

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.