الطرق المختلفة لتوسيط النافذة 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
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
» تصميم تطبيق جوال لمغسلة ملابس
» تصميم تطبيق جوال لشركة عقارات
» شركة مكافحة النمل الابيض بالرياض
» تصميم تطبيق جوال لنقل الاثاث
» هناجر
» تصميم تطبيق جوال لمتجر ورد
» تصميم تطبيق جوال لسلسلة مطاعم
» تصميم تطبيق جوال لتوصيل الطلبات
» مظلات سيارات متحركة