Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

كيف يمكنني إخفاء النافذة JFrame عند النقر على زر؟

كيف يمكنني صناعة برنامج يوجد فيه زر في منتصف النافذة مكتوب عليه "إخفاء النافذة" عند النقر عليه تختفي النافذة؟

كيف يمكنني جعل النافذة تختفي و هل ستبقى محجوزة في الذاكرة أم لا؟

الهدف من البرنامج هو مسح النافذة من الشاشة و الذاكرة كما لو لم يتم طباعتها.

تعليقات 1

0
محمد هرموش

هذا الكود يظهر نافذة فيها زر إخفاء في الوسط، عند النقر عليه تختفي النافذة.

عند إخفاء النافذة فإن المساحة الخاصة بها تظل محجوزة في الذاكرة طالما أن البرنامج لا يزال يعمل.

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JButton;
import javax.swing.JFrame;

public class Main {

    public static void main(String[] args) {

        JFrame frame = new JFrame("Swing Full Screen Size");
        frame.setSize(300, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(new GridBagLayout());
        
        JButton btn = new JButton("إخفاء الشاشة");
        GridBagConstraints gbc = new GridBagConstraints();
        gbc.anchor = GridBagConstraints.CENTER;
 
        frame.add(btn, gbc);
        
        frame.setVisible(true);

        btn.addActionListener((Action) -> {
            frame.setVisible(false); // أمر إخفاء نافذة البرنامج
        });
    }

}

إذا أردت إخفاء البرنامج بشكل كامل فالحل الوحيد هو إغلاقه بشكل تام و ليس إخفاء النافذة.

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JButton;
import javax.swing.JFrame;

public class Main {

    public static void main(String[] args) {

        JFrame frame = new JFrame("Swing Full Screen Size");
        frame.setSize(300, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(new GridBagLayout());
        
        JButton btn = new JButton("إخفاء الشاشة");
        GridBagConstraints gbc = new GridBagConstraints();
        gbc.anchor = GridBagConstraints.CENTER;
 
        frame.add(btn, gbc);
        
        frame.setVisible(true);

        btn.addActionListener((Action) -> {
            System.exit(0); // أمر إغلاق البرنامج بأكمله
        });
    }

}

أضف تعليق

يجب تسجيل الدخول حتى تتمكن من إضافة تعليق أو رد.