الطرق المختلفة لتوسيط النافذة JFrame على الشاشة
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: واجهة المستخدم الرسومية Java Swing
صفحة 1 من اصل 1 • شاطر
الطرق المختلفة لتوسيط النافذة JFrame على الشاشة
إذا كان لديك JFrame في تطبيق Java Swing وترغب في توسيط موقعه على الشاشة ، يمكنك استخدام أحد الطرق التالية.
الطريقة الأولى هي استخدام فئة java.awt.Toolkit للحصول على حجم الشاشة.
تقوم طريقة getScreenSize () بإرجاع java.awt.Dimension من حيث يمكننا الحصول على عرض وارتفاع الشاشة لدى المستخدم . بوجود هذه القيم في ، يمكننا حساب الموضع العلوي الأيسر للنافذة JFrame وبالتالى يمكنك توسيطها وذلك باستخدام الكود أدناه
الطريقة الثانية وهى الأفضل والأكثر بساطة هو استخدام الأسلوب setLocationRelativeTo (Component). وفقًا لـ Javadoc من هذه الطريقة: إذا كان المكون فارغًا ، أو كان تكوين الرسومات المرتبط بهذا المكون فارغًا ، فسيتم وضع النافذة في وسط الشاشة.
إذا قمت بالاتصال بأسلوب JFrame.pack (). يجب استدعاء الأسلوب قبل الأسلوب setLocationRelativeTo ().
حتى نتمكن من إعادة كتابة الكود أعلاه مثل هذه:
الطريقة الأولى هي استخدام فئة java.awt.Toolkit للحصول على حجم الشاشة.
تقوم طريقة getScreenSize () بإرجاع java.awt.Dimension من حيث يمكننا الحصول على عرض وارتفاع الشاشة لدى المستخدم . بوجود هذه القيم في ، يمكننا حساب الموضع العلوي الأيسر للنافذة JFrame وبالتالى يمكنك توسيطها وذلك باستخدام الكود أدناه
- الكود:
import javax.swing.*;
import java.awt.*;
public class CenteredJFrame extends JFrame {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
// الحصول على حجم الشاشة للمستخدم
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
CenteredJFrame frame = new CenteredJFrame();
frame.setTitle("Centered JFrame");
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setSize(250, 250);
//يحسب المكان الذي يوجد فيه مركز JFrame
int x = (screenSize.width - frame.getWidth()) / 2;
int y = (screenSize.height - frame.getHeight()) / 2;
frame.setLocation(x, y);
frame.setVisible(true);
}
});
}
}
الطريقة الثانية وهى الأفضل والأكثر بساطة هو استخدام الأسلوب setLocationRelativeTo (Component). وفقًا لـ Javadoc من هذه الطريقة: إذا كان المكون فارغًا ، أو كان تكوين الرسومات المرتبط بهذا المكون فارغًا ، فسيتم وضع النافذة في وسط الشاشة.
إذا قمت بالاتصال بأسلوب JFrame.pack (). يجب استدعاء الأسلوب قبل الأسلوب setLocationRelativeTo ().
حتى نتمكن من إعادة كتابة الكود أعلاه مثل هذه:
- الكود:
import javax.swing.*;
public class CenteredJFrameSecond {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
CenteredJFrame frame = new CenteredJFrame();
frame.setTitle("Centered JFrame");
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setSize(250, 250);
// Place the window in the center of the screen.
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
}
1zaza- ...
- تاريخ التسجيل : 18/11/2018
المساهمات : 39
النقاط : 66
التقيم : 3
الدولة :
الجنس :
| |
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: واجهة المستخدم الرسومية Java Swing
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
» مدرس رياضيات متوسط ثانوي 97234924 بالكويت
» أفضل موقع تأجير سيارات في مصر
» مدرس رياضيات متوسط ثانوي 97234924 بالكويت
» شركة آي بي إس للخدمات الاستشارية المالية وتكنولوجيا المعلومات
» ادارة متجرك الالكتروني
» مدرس انجليزي متوسط ثانوي 97234912 بالكويت
» شركة IBS للاستشارات الاقتصادية والادارية
» أحصل ملبغ مالى "رمزي " نظير مشاركاتك و مقالاتك بالمنتدي
» "أحلامنا المرآة: فك رموزها واستكشاف عمق المعاني"