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

برنامج رسم

بدأه mnt في 10 ديسمبر 2008 · 5 رد · 732 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اول شيئ كل عام و الجميع بخير

يمكن تكون هاي اول مشاركة اللي بالموضوع

لكن صدقوني هاد المنتدى هو من حفزني لأتعلم برمجة الجافا"بأعضاءه"

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

لكن و بتجربته فهو غير فعال كتير

لإارجو المساعدة

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class test
{
	public static void main(String args[])
	{
		JFrame a=new JFrame("my paint test");

		paint p=new paint();

		a.add(p,BorderLayout.CENTER);

		a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		a.setSize(500,500);
		a.setVisible(true);
	}
}

import java.awt.Point;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import javax.swing.JPanel;

public class paint extends JPanel
{
	private int count=0;
	private Point p[]=new Point[10000000];

	public paint()
	{
		addMouseMotionListener(
			new MouseMotionAdapter()
			{
				public void mouseDragged(MouseEvent e)
				{
					if(count<p.length)
					{
						p[count]=e.getPoint();
						count++;
					}
				}
			}
			);
		}
		public void paintComponent(Graphics g)
		{
			super.paintComponent(g);
			for(int i=0;i<count;i++)
			g.fillOval(p.x,p.y,15,15);
		}
	}

تم تعديل هذه المشاركة بواسطة علاء الصالحي في 11 ديسمبر 2008 في 01:33 — السبب: إضافة وسم code

#2

أنت لا ترسم خط هنا

وإنما ترسم دائرة

استخدم drawLine لترسم خط

إذا كان لديك مشاكل أكثر وضح في كلامك

تحياتي

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

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

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

728x90.png

#3

العفو لكن هذا الكود بعد تنفيذه

يسمح لك برسم ما تريد عن طريق الفأرة و هذا ما اريد

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

#4

ربما يكون كلامك صحيح

بصراحة لم أتعقب الخوارزمية

لكن وإن حصل فهو سيئ جداً

على كل حال ما الذي تعنيه بنقاط متباعدة

وضح أكثر

تحياتي

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

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

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

728x90.png

#5

كأني لم اوضح لك الصورة

هذا البرنامج يقوم بالأتي

عندما تضغط بالماوس و تسحبها يبدأ بالرسم عن طريق ملىء البكسلات حت نتوقف عن السحب بالماوس

المشكلة انه لا يقوم بملىء كل البكسلات في طريقه و تظهر كأنها مقطعة

#6

أهاااااا

الآن فهمت

على فكرة شيء طبيعية أن يحصل هذا لأن الدالة fillOval

ترسم دوائر مصمتة

لم أنتبه إلى أن الدالة DRAG

على كل حال فكر في أن تأخذ النقطة الأولى والأخيرة

بعد ذلك استخدم الدالة drawLine للرسم

وستحصل على نتيجة جيدة

تحياتي

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

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

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

728x90.png

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