يبدو أن Java SetClip Redraw
-
20-09-2019 - |
سؤال
أواجه بعض المشاكل مع SETCLIP في جافا. لدي فصل يمتد JPanel. داخل تلك الفئة كنت قد تجاوزت طريقة PaintComponent. تبدو طريقة PaintComponent الخاصة بي شيءا مثل هذا:
paintComponent {
//draw some lines here
Rectangle whole = g2.getClipBounds();//g2 is my Graphics2D object
Rectangle part = <some rectangle that is a part of the whole paintable area>;
g2.setClip(part);
//draw some more stuff here
g2.setClip(whole);
}
المشكلة التي أراها هي أن المنطقة في المنطقة المستقيمة تبدو مرارا وتكرارا. على سبيل المثال، إذا قلت ذلك للطلاء، فإنه يرسم جيدا. ولكن بعد ذلك، إذا قمت بتشغيل النوافذ أو غير ذلك بطريقة أو بطريقة أو بأخرى أن ترسم نفس الشيء مرة أخرى، فلن يتم مسح المنطقة المسدودة أثناء الباقي. ينتج عن هذا الطلاء على المنطقة المستقيمة أكثر جرأة من بقية المنطقة الطلاءية.
أتصور أنني أفتقد شيئا ما في كيفية عمل SETCLIP.
أي اقتراحات سيكون موضع تقدير كبير. شكرا مقدما على أي مساعدة.
المحلول
إنشاء كائن رسومات جديد من القديم فعلت الخدعة بالنسبة لي، كما ينصحها توم.
لا تنتمي إلى StackOverflow