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

jpotionpane with object

بدأه ريحانة الاقصى في 17 سبتمبر 2011 · 4 رد · 388 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اريد استخدام JOptionPane بهذه الصورة

JOptionPane.showMessageDialog(null, new joption(),"Current Time", JOptionPane.PLAIN_MESSAGE);

حيث ان ال new joption() هو هذا الكود لرسم صورة

/**
 * @(#)aboutGame.java
 *
 *
 * @author:-alaa hamda 
 * @version 1.00 2011/9/5
 */

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Toolkit;

public class joption extends JPanel  {
  protected  void paintComponent(Graphics g) {
    super.paintComponent(g);

     Graphics2D g2 = (Graphics2D) g;
         Image img1 = Toolkit.getDefaultToolkit().getImage("image/over.png");
       g2.drawImage(img1,0,0,300,300,this);
    g2.finalize();


  }   
}

ولكن الصورة لا تظهر الا جزء صغير منها كيف اظهرها كاملةpost-218481-089324000 1316268254_thumb.p

المرفقات
بدون عنوان.png

تم تعديل هذه المشاركة بواسطة ريحانة الاقصى في 17 سبتمبر 2011 في 17:04

#2

قم بإعادة تعريف الطريقة getPreferredSize بحيث تعيد الحجم الذي تريد أن يأخذه ال JPanel

أيضا طريقة استرجاع الصورة خطأ، فكل مرة يتم المناداة على paintComponent يجب قراءة الصورة من القرص الصلب. الأفضل تخزين الصورة في متغير ثم استرجاعها في paintComponent

public class joption extends JPanel {

	Image img1 = Toolkit.getDefaultToolkit().getImage("image/over.png");

	@Override
	protected void paintComponent(Graphics g) {
		super.paintComponent(g);

		Graphics2D g2 = (Graphics2D) g;
		g2.drawImage(img1, 0, 0, 300, 300, this);
	}

	@Override
	public Dimension getPreferredSize() {
		return new Dimension(300, 300);
	}	
}

تم تعديل هذه المشاركة بواسطة herch في 17 سبتمبر 2011 في 19:49

2
#3
herch كتب:

قم بإعادة تعريف الطريقة getPreferredSize بحيث تعيد الحجم الذي تريد أن يأخذه ال JPanel

أيضا طريقة استرجاع الصورة خطأ، فكل مرة يتم المناداة على paintComponent يجب قراءة الصورة من القرص الصلب. الأفضل تخزين الصورة في متغير ثم استرجاعها في paintComponent

public class joption extends JPanel {

	Image img1 = Toolkit.getDefaultToolkit().getImage("image/over.png");

	@Override
	protected void paintComponent(Graphics g) {
		super.paintComponent(g);

		Graphics2D g2 = (Graphics2D) g;
		g2.drawImage(img1, 0, 0, 300, 300, this);
	}

	@Override
	public Dimension getPreferredSize() {
		return new Dimension(300, 300);
	}	
}

شكرا جزيلا ...

#4

ولكن عندما فتحت الابلت من خلال المتصفح وليس برنامج الجيكريتر لم تظهر الرسالة

هل بسبب الصورة ؟؟

#5

ال applets فيها فقط المشاكل

ال applet لا يمكنها الوصول إلى الملفات في القرص الصلب. الإتصال الوحيد الذي يمكنها أن تقوم به يكون مع ال server الذي يحتوي ال applet.

الموضوع تم التكلم عنه كثيرا هنا. إما أن تقوم بعمل sign لل applet، أو استرجع الصورة من ال server.

راجع هذا الرابط http://download.orac...t/security.html

للاسف عندي مشكل في تشغيل ال applets من المتصفح لذلك لا أستطيع المساعدة

تم تعديل هذه المشاركة بواسطة herch في 17 سبتمبر 2011 في 22:33

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