0 امتیاز
قبل در برنامه نویسی توسط (10 امتیاز)
ویرایش شده قبل توسط

چند مورد مشکل داشتم که اگه راهنمایی کنید ممنون میشم

مورد اول) من یه کلاس تعریف کردم به اسم Test که از کلاس JFrame ارث بری میکنه . تو قسمت سازنده این کلاس یه پنل تنظیم کردم که مثلا رنگش قرمزه . بعد میام متد paint رو توی این کلاس override میکنم(تو بدنه کلاس و خارج از سازنده) و کد هایه مثلا رسم یه مستطیل رو توش مینویسم . بعد از اجرا (ساخت شی از این کلاس)مستطیل روی فریم رسم میشه اما اون پنل مورد نظر دیگه اعمال نمیشه و هر وقت متد paint رو غیر فعال میکنم اون موقع اون پنل به فریم اضافه میشه و همزمان هر دو کار نمیکنن . چطور میتونم این مشکلو برطرف کنم که هم پنل اعمال بشه و هم شکل مورد نظر روی فریم رسم بشه ؟ آیا میتونم از روش دیگه ای برای رسم شکل روی فریم به غیر از متد paint استفاده کنم که این مشکل برطرف بشه؟

مورد ذوم) من تو کلاس Test که ایجاد کردم متد paint رو خارج از سازنده Override کردم پس چرا به محض ایجاد شی از کلاس متد paint اجرا میشه ؟ چطور میتونم این متد رو کنترل کنم و مثلا کد رسم یه شکلو بنویسم ولی کاری کنم که به صورت خودکار اجرا نشه ؟

مورد سوم) وقتی که یه شکلی رو به کمک متد paint روی فریم رسم میکنیم  بعد چطور میتونیم اون شکلو پاک کنیم؟از چه روش دیگه ای میتونم برای رسم شکل روی فریم که ساده تر از این متد paint باشه استفاده کنم؟

دوستان کدهایه اون کلاس Test که بالا توضیح دادم هم گذاشتم میتونید ببینید:

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Test1 extends JFrame {

public static void main(String[] args) {

  Test1 a=new Test1();
 
  a.setVisible(true);
 
}
Test1()
{
  super("Test");
  this.setBounds(1400,400,400,400);
  this.setLayout(new FlowLayout());
 
  JPanel p=new JPanel();
 
  p.setBackground(Color.RED);
 
  this.setContentPane(p);
}

@Override
public void paint(Graphics g)
{
  g.setColor(Color.GREEN);
  g.fillRect(50, 50, 100, 100);
}

}

سوالات مشابه

0 امتیاز
1 پاسخ 367 بازدید
+1 امتیاز
4 پاسخ 1.2هزار بازدید
+1 امتیاز
1 پاسخ 905 بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط hassanali (102 امتیاز)
+1 امتیاز
1 پاسخ 319 بازدید
0 امتیاز
1 پاسخ 239 بازدید
+1 امتیاز
1 پاسخ 461 بازدید
0 امتیاز
2 پاسخ 331 بازدید
...