البرمجة

تحكم دقيق في ملء المستطيل بنسبة باستخدام Java Swing

في سياق تطوير واجهة المستخدم باستخدام لغة البرمجة جافا، يأتي إستفسارك حول كيفية ملء مستطيل بشكل جزئي بناءً على نسبة معينة مع تطبيق معين لبرمجة واجهة المستخدم باستخدام Swing. يُعد هذا موضوعًا مثيرًا للاهتمام يستحق تحليلًا مفصلاً.

للبداية، دعوني أوضح لك الطريقة التي يمكنك من خلالها تحقيق هذا الهدف. في لغة البرمجة جافا، يُمكنك استخدام الفئة Graphics المتاحة في مكتبة Swing للتحكم في عمليات الرسم على واجهة المستخدم. يبدأ الأمر بتجهيز لوحة (JPanel) حيث يتم رسم المستطيل عليها.

java
import javax.swing.*; import java.awt.*; public class ColoredRectanglePanel extends JPanel { private double percentage; public ColoredRectanglePanel(double percentage) { this.percentage = percentage; } @Override protected void paintComponent(Graphics g) { super.paintComponent(g); int width = getWidth(); int height = getHeight(); // حساب الارتفاع الفعلي للمستطيل بناءً على النسبة المئوية int filledHeight = (int) (height * percentage); // رسم المستطيل الكامل بلون معين g.setColor(Color.BLUE); g.fillRect(0, 0, width, height); // رسم المستطيل الجزئي بناءً على النسبة المئوية g.setColor(Color.RED); g.fillRect(0, height - filledHeight, width, filledHeight); } public void setPercentage(double percentage) { this.percentage = percentage; repaint(); // إعادة رسم اللوحة عند تغيير النسبة } public static void main(String[] args) { JFrame frame = new JFrame("Colored Rectangle Example"); ColoredRectanglePanel rectanglePanel = new ColoredRectanglePanel(0.6); // نسبة اللون الملء frame.getContentPane().add(rectanglePanel); frame.setSize(300, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }

في هذا السياق، يتم تمثيل المستطيل الكامل بلون معين، ثم يتم رسم مستطيل جزئي في الجزء السفلي بناءً على النسبة المئوية التي تم تمريرها. يُظهر الشيفرة المرفقة كيفية استخدام فئة ColoredRectanglePanel في تطبيق Swing.

بمجرد استخدام هذا الشيفرة في تطبيقك، يمكنك تغيير النسبة وفقًا للقيمة التي تحددها البرنامج. يُشير الرمز أيضًا إلى كيفية تحديث الواجهة بعد تغيير النسبة باستخدام الطريقة setPercentage المخصصة. يمكنك تخصيص هذا الكود وفقًا لمتطلبات مشروعك وتصميم واجهة المستخدم الخاصة بك.

المزيد من المعلومات

بالطبع، سنقوم الآن بتوسيع النقاش حول الطريقة التي تم استخدامها في الشيفرة البرمجية وتوفير بعض المعلومات الإضافية حول مفاهيم مهمة في هذا السياق.

أولاً وقبل كل شيء، تستخدم الشيفرة فئة JPanel كوحدة أساسية لرسم المستطيلات وعرضها على واجهة المستخدم. تعتبر JPanel واحدة من مكونات Swing المستخدمة بشكل شائع لبناء واجهات المستخدم في تطبيقات جافا.

java
public class ColoredRectanglePanel extends JPanel { // ... }

في الداخل، يُعرف المتغير percentage لتخزين النسبة المئوية التي يجب أن يتم رسم المستطيل الجزئي وفقًا لها.

java
private double percentage;

تم تحديد الأسلوب paintComponent لرسم المكون (JPanel)، والذي يُستدعى تلقائيًا عند الحاجة. يُستخدم هذا الأسلوب لرسم المستطيل الكامل بلون معين ومن ثم رسم المستطيل الجزئي بناءً على النسبة المئوية المحددة.

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

تم استخدام فئة Color لتمثيل الألوان، حيث تم تحديد لون أزرق للمستطيل الكامل ولون أحمر للمستطيل الجزئي.

java
g.setColor(Color.BLUE); g.fillRect(0, 0, width, height); g.setColor(Color.RED); g.fillRect(0, height - filledHeight, width, filledHeight);

يُستخدم أسلوب setPercentage لتحديث قيمة النسبة وإعادة رسم اللوحة بأكملها.

java
public void setPercentage(double percentage) { this.percentage = percentage; repaint(); // إعادة رسم اللوحة عند تغيير النسبة }

أخيرًا، في الكود الرئيسي، تم إنشاء مثيل من ColoredRectanglePanel واستخدامه في إطار Swing لعرض اللوحة.

java
public static void main(String[] args) { JFrame frame = new JFrame("Colored Rectangle Example"); ColoredRectanglePanel rectanglePanel = new ColoredRectanglePanel(0.6); // نسبة اللون الملء frame.getContentPane().add(rectanglePanel); frame.setSize(300, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); }

هذا الكود يُظهر كيف يمكنك دمج مكونات Swing مخصصة مع تطبيقك لتحقيق تحكم دقيق في رسم واجهة المستخدم بشكل برمجي. يمكنك تكامل هذا المثال في تطبيقك الفعلي وتخصيصه وفقًا لاحتياجات مشروعك الخاص.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر