الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تنبيه ] creating image ..

بدأه angelita في 23 مايو 2010 · 7 رد · 519 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ممكن تساعدوني

لماذا هنا صار exception

مع اني ضفت الصوره شو الغلط

package MAY23;



import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.imageio.*;
import javax.swing.*;
import java.util.Random;

class JumbledImage extends Component {

    private int numlocs = 2;
    private int numcells = numlocs*numlocs;
    private int[] cells;
    private BufferedImage bi;
    int w, h, cw, ch;

    public JumbledImage(URL imageSrc) {
        try {
            bi = ImageIO.read(imageSrc);
            w = bi.getWidth(null);
            h = bi.getHeight(null);
        } catch (IOException e) {
            System.out.println("Image could not be read");
            System.exit(1);
        }
        cw = w/numlocs;
        ch = h/numlocs;
        cells = new int[numcells];
        for (int i=0;i<numcells;i++) {
            cells = i;
        }
    }

    void jumble() {
        Random rand = new Random();
        int ri;
        for (int i=0; i<numcells; i++) {
            while ((ri = rand.nextInt(numlocs)) == i);

            int tmp = cells;
            cells = cells[ri];
            cells[ri] = tmp;
        }
    }

    public Dimension getPreferredSize() {
        return new Dimension(w, h);
    }

    public void paint(Graphics g) {

        int dx, dy;
        for (int x=0; x<numlocs; x++) {
            int sx = x*cw;
            for (int y=0; y<numlocs; y++) {
                int sy = y*ch;
                int cell = cells[x*numlocs+y];
                dx = (cell / numlocs) * cw;
                dy = (cell % numlocs) * ch;
                g.drawImage(bi,
                            dx, dy, dx+cw, dy+ch,
                            sx, sy, sx+cw, sy+ch,
                            null);
            }
        }
    }
}

public class JumbledImageApplet extends JApplet {

    static String imageFileName = "duke_skateboard.jpg";
    private URL imageSrc;
    private JumbledImage jumbledImage;

    public JumbledImageApplet () {
    }

    public JumbledImageApplet (URL imageSrc) {
        this.imageSrc = imageSrc;
    }

    public void init() {
        try {
            imageSrc = new URL(getCodeBase(), imageFileName);
        } catch (MalformedURLException e) {
        }
        buildUI();
    }

    public void buildUI() {
        final JumbledImage ji = new JumbledImage(imageSrc);
        add("Center", ji);
        JButton jumbleButton = new JButton("Jumble");
        jumbleButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    JButton b = (JButton)e.getSource();
                    ji.jumble();
                    ji.repaint();
                };
            });
        Dimension jumbleSize = ji.getPreferredSize();
        resize(jumbleSize.width, jumbleSize.height+40);
        add("South", jumbleButton);
    }

    public static void main(String s[]) {
        JFrame f = new JFrame("Jumbled Image");
        f.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {System.exit(0);}
        });
        URL imageSrc = null;
        try {
             imageSrc = ((new File(imageFileName)).toURI()).toURL();
        } catch (MalformedURLException e) {
        }
        JumbledImageApplet jumbler = new JumbledImageApplet(imageSrc);
        jumbler.buildUI();
        f.add("Center", jumbler);
        f.pack();
        f.setVisible(true);
    }
}
#2

السلام عليكم

اخى العزيز

هل هذا هو الـ execption الذى يظهر اليك ؟

eeeeww.jpg

فان كان هو

فاقرا الخطا بتعمن فانه يطلب منك عزل الــclass JumbledImageApplet فى ملف منفرد باسم JumbledImageApplet

وقد فعلت ذلك

ولم يوجد اخطاء بعد ذلك

عندما ارد ان يظهر الصوره لم يجدها دخل فى الـ catch

وطبع رساله الخطا اللى انت عاملها

وهذا هو ناتج تشغيل البرنامج بعد عزلهم فى 2 كلاس

eewww.jpg

اتمنى ان تكون المشكله وضحت

وان لم تكن هى فاخبرنا ما هو اسم الـ execption

سلام عليكم

−1

Software Developer
Mahmoudkelany.com


 

#3

[

يلي كان طالع عندي هو

image could not be read

بس انا كيف بدي اتخلص منه وابين الصوره وليش اصلا طلع هدا ال exception

[

تم تعديل هذه المشاركة بواسطة angelita في 23 مايو 2010 في 22:19

#4
angelita كتب:

[

يلي كان طالع عندي هو

image could not be read

بس انا كيف بدي اتخلص منه وابين الصوره وليش اصلا طلع هدا ال exception

[

اكيد مسار ملف الصوره خطا

ممكن توصف لى الصوره بتاعتك فين بالظبط

فالمشروع ولا خارج المشروع

فى ملف داخل المشروع ولا لا

وان شاء الله نفيدك فالمسار

ان كانت فى الملف src

اكتب اسم الصوره هكذا

String imageUrl="/test.jpg";

وان كانت داخل ملف يدعى وليكن images

String imageUrl="/images/test.jpg";

جرب وان لم تستطع او لم تستطع الوصف ممكن ارفاق المشروع بالصوره وان شاء الله نعدلها ليك

سلام عليكم

Software Developer
Mahmoudkelany.com


 

#5

انا ضفت الصوره مع classes هل موقعها هييك صحيح او لا

واسمها duke_skateboard.jpg

انت بتقدر تحط اي صوره بس غير اسمها بالكود

جرب مع اي صوره عندك بركي اكتشفت المشكله وين بالزبط

عكل الصوره قي المرفق

post-199450-12746439741686_thumb.jpg

#6
    static String imageFileName = "duke_skateboard.jpg";

ان شاء الله بتكون فى هذا المسار

لو كانت الصوره والـclasses فى نفس المكان

حاول

بس انا لم بصيت فى الكود بدقه وجدت ان حضرتك معرف

JumbledImage jumbledImage;

ولم تستخدمه بعد ؟

حاول تشوف كدا يمكن يكون الخطا من هنا

Software Developer
Mahmoudkelany.com


 

#8

*- يحظر استخدام اللهجة العامية

*- أو كتابة الأسئلة باللغة الإنجليزية

*- أو كتابة الكلمات الإنجليزية بالعربية

====

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

مواضيع مشابهة