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

لو سمحتو ممكن تشوفون لي هذا الكود

مغلق
بدأه طالب برمجة في 8 ديسمبر 2004 · 3 رد · 659 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي كود مفروض يطلع فريم وفيه مستطيلات ملونه

بس مايطلع عندي بالشكل المطلوب

اذا حد يعرف وين الخطأ

import java.awt.*;
  import javax.swing.*;
public class pic1 extends JFrame{
  
  public pic1()
  {
    super("pic");
    setSize( 400, 130 );
    setVisible( true );

  }
  public void Paint( Graphics g)
  {
    super.paint(g);
    g.setColor(new Color(255,0,0));
    g.fillRect(25, 25, 100, 20 );
    g.drawString("Current RGB: " + g.getColor(), 130, 40 );
    
    g.setColor( new Color( 0.0f, 1.0f, 0.0f ) );
         g.fillRect( 25, 50, 100, 20 );
           g.drawString( "Current RGB: " + g.getColor(), 130, 65 );
   
          // set new drawing color using static Color objects
          g.setColor( Color.BLUE );
         g.fillRect( 25, 75, 100, 20 );
         g.drawString( "Current RGB: " + g.getColor(), 130, 90 );
   
         // display individual RGB values
         Color color = Color.MAGENTA;
            g.setColor( color );
            g.fillRect( 25, 100, 100, 20 );
           g.drawString( "RGB values: " + color.getRed() + ", " +
             color.getGreen() + ", " + color.getBlue(), 130, 115 );
   
       } // end method paint

        
    
  
  public static void main( String args[] )
      {
       pic1 application = new pic1();
         application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
       }

}

تم تعديل هذه المشاركة بواسطة مجدي محمود في 8 ديسمبر 2004 في 20:53

#2

بسبب خطا صغير وهو التالي لاحظ الاسلوب paint في برنامجك

اقتباس
public void Paint( Graphics g)

ثم كتبت

اقتباس
super.paint(g);

يعني للبرنامج هناك اسلوبين وهما Paint و paint وهذا خطا لازم يكون Method واحد وهو paint وهذا هو التعديل

 public void paint( Graphics g)

الكود كامل مع التعديل

import java.awt.*;
 import javax.swing.*;
public class pic1 extends JFrame{

 public pic1()
 {
   super("pic");
   setSize( 400, 130 );
   setVisible( true );

 }
 public void paint( Graphics g)
 {
   super.paint(g);
   g.setColor(new Color(255,0,0));
   g.fillRect(25, 25, 100, 20 );
   g.drawString("Current RGB: " + g.getColor(), 130, 40 );
   
   g.setColor( new Color( 0.0f, 1.0f, 0.0f ) );
        g.fillRect( 25, 50, 100, 20 );
          g.drawString( "Current RGB: " + g.getColor(), 130, 65 );
  
         // set new drawing color using static Color objects
         g.setColor( Color.BLUE );
        g.fillRect( 25, 75, 100, 20 );
        g.drawString( "Current RGB: " + g.getColor(), 130, 90 );
  
        // display individual RGB values
        Color color = Color.MAGENTA;
           g.setColor( color );
           g.fillRect( 25, 100, 100, 20 );
          g.drawString( "RGB values: " + color.getRed() + ", " +
            color.getGreen() + ", " + color.getBlue(), 130, 115 );
  
      } // end method paint

       
   

 public static void main( String args[] )
     {
      pic1 application = new pic1();
        application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
      
         }

}

لست متواجد بشكل يومي

#3

أخي السائل أتوقع أن الكلاس المراد وراثته ليس JFrame أنك بكتابة للجملة

super.paint تقوم باستدعاء الميثود paint الموجودة في الكلاس الأب و في حالة عدم وجودها سوف يعطيك الكومبايلر error

على العموم أظن أن الميثود التي تريد توجد في JApplet

اللهم انفعنا بما علمتنا وعلمنا ما ينفعنا

أخوكم علاء

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

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

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

728x90.png

#4

مرحبا

على حد علمي فأنت بالرنامج اللي كاتبه ما راح يرسم اشي على Frame الجديدة لكن راح يرسمها على Applet الاصلية

فممكن تضيف بدل paint

public void paint(Graphics g) {
super.paint(g); 
Graphics2D g2D = (Graphics2D)g;
g.drawString("Hello World" ,0,0);
}

أو ممكن طريقة ثانية عاي المثال بوضحها

مثال

أن شاء الله يفيدك

تم تعديل هذه المشاركة بواسطة مجدي محمود في 14 ديسمبر 2004 في 17:24

هذا الموضوع مغلق.

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