سؤال

وإنني تصميم تجربة علم النفس مع تطبيقات جافا. لقد جعل بلدي تطبيقات جافا كامل الشاشة. ما هي أفضل طريقة للقيام بذلك وكيف يمكن أن أفعل هذا.

وبما أنني لم تم استخدام تطبيقات جافا لمدة 3 سنوات (آخر مرة كنت استخدمه كان لدورة المنزلية :)) لقد نسي معظم المفاهيم. أنا googled وجدت أن الرابط: داني الويب

ولكن في الطريقة الموضحة في الرابط أعلاه لديك لوضع JFrame داخل التطبيق الصغير الذي ليس لدي أي فكرة عن كيفية القيام بذلك.

ومهما كنت في حاجة الى طريقة سريعة وقذرة b'cause ليس لدي الكثير من الوقت، وهذا هو السبب في أنني طلبت منها هنا.

وثنإكس مقدما

هل كانت مفيدة؟

المحلول

وأعتقد أنك تريد استخدام webstart و. يمكنك نشر من مستعرض إنما هو خلاف ذلك تطبيق مهب كامل. هناك عدد قليل من القيود الأمنية browserish، ولكن كما كنت تستخدم الصغير حاليا، وأعتقد أنني يمكن أن نفترض انهم ليست مشكلة.

نصائح أخرى

والجواب الواضح هو عدم استخدام تطبيقات. كتابة تطبيق يستخدم JFrame أو JWindow كما الحاوية المستوى الأعلى لها. انها ليست قدرا هائلا من العمل لتحويل الصغير في تطبيق. تم تصميم تطبيقات لتكون جزءا لا يتجزأ في شيء آخر، عادة ما تكون صفحة الويب.

إذا كان لديك بالفعل برنامج صغير وتريد أن تجعل من كامل الشاشة، وهناك اثنين الخارقة سريعة وقذرة:

1). إذا كنت تعرف دقة الشاشة، فقط تعيين المعلمات صغير ليكون بهذا الحجم في HTML ثم قم بتشغيل المتصفح في وضع ملء الشاشة.

2). تشغيل التطبيق الصغير في متصفح برمجيات جافا، بدلا من صفحة على شبكة الإنترنت، وتحقيق أقصى قدر من نافذة متصفح برمجيات جافا.

لماذا لا مجرد فتح إطار جديد من التطبيق الصغير (إما من "بدء ()" طريقة أو ويفضل بعد يضغط المستخدم على زر "فتح") وتعيينه ليكون الحد الأقصى؟

JFrame frame = new JFrame();
//more initialization code here
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
frame.setSize(dim.width, dim.height);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

لا تنسى: يجب إنشاء JFrame وفتحها من بتوقيت شرق الولايات المتحدة. لم يتم ضمان بداية الصغير () ليتم استدعاؤها على هذا الموضوع، وذلك باستخدام SwingUtilities.invokeLater (). بالطبع، إذا كنت تختار زر الطريق، ويسمى زر المستمع على بتوقيت شرق الولايات المتحدة، لذلك يجب أن تكون آمنة.

ولقد وجدت حل لهذه المشكلة أن يعمل بشكل جيد. اختبار في لينكس 64 بت (كروم وفايرفوكس) ويندوز 7 64 بت (كروم وإكسبلورر)

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

public void setFullScreen() {   
        if (!this.fullscreen) {
            size = this.getSize();
            if (this.parent == null) {
                this.parent = getParent();
            }
            this.frame = new Frame();
            this.frame.setUndecorated(true);
            this.frame.add(this);
            this.frame.setVisible(true);

            GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
            GraphicsDevice[] devices = ge.getScreenDevices();
            devices[0].setFullScreenWindow(this.frame);
            this.fullscreen = true;
        } else {
            if (this.parent != null) {
                this.parent.add(this);
            }
            if (this.frame != null) {
                this.frame.dispose();
            }
            this.fullscreen = false;
            this.setSize(size);
            this.revalidate();
        }       
        this.requestFocus();
    }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top