الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

JFrame

مغلق
بدأه ahabdeen في 30 يونيو 2003 · 24 رد · 1,780 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

انا استخدمت ال JFrame لعمل نافذة ولكن دائما تطلع ف الركن العلوى من الشاشة كيف احدد مكانها؟

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

#2

Assuming that your JFrame is called frame:

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    Dimension frameSize = frame.getSize();
    if (frameSize.height > screenSize.height) {
      frameSize.height = screenSize.height;
    }
    if (frameSize.width > screenSize.width) {
      frameSize.width = screenSize.width;
    }
    frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
#3

thx for ur help

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

#4

دا ال frame الى انا كتبته

import javax.swing.*;
public class firstFrame extends JFrame
{
	public JFrame form;
	public JPanel panel;
	public JMenuBar menubar;
	public JMenu filemenu,editmenu,viewmenu,windowsmenu,helpmenu;
	public JMenuItem openmenu,closemenu,savemenu,saveAsMenu,saveMenu,aboutmenu,undomenu,statusbarmenu,arrangemenu;
	public firstFrame()
	{
		//build the windows frame
		panel=new JPanel(true);
		form=new JFrame("ahabdeen first windows");
		form.getContentPane().add("Center", panel);
		form.setVisible(true);
		form.setSize(300,300);
		form.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		Dimension frameSize = frame.getSize();
		if (frameSize.height > screenSize.height) {
		frameSize.height = screenSize.height;
		}
		if (frameSize.width > screenSize.width) {
		frameSize.width = screenSize.width;
		}
		frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);


		//build the Menu frame
		menubar=new JMenuBar();
		filemenu=new JMenu("File");
		editmenu=new JMenu("Edit");
		viewmenu=new JMenu("View");
		windowsmenu=new JMenu("Windows");
		helpmenu=new JMenu("Help");
		openmenu=new JMenuItem("Open");
		closemenu=new JMenuItem("Close");
		savemenu=new JMenu("Save");
		saveAsMenu=new JMenuItem("Save as");
		saveMenu=new JMenuItem("Save...");
		filemenu.add(openmenu);
		filemenu.addSeparator();
		savemenu.add(saveMenu);
		savemenu.add(saveAsMenu);
		savemenu.add(saveAsMenu);
		filemenu.add(savemenu);
		filemenu.addSeparator();
		filemenu.add(closemenu);
		aboutmenu=new JMenuItem("About");
		helpmenu.add(aboutmenu);
		undomenu=new JMenuItem("Undo");
		editmenu.add(undomenu);
		statusbarmenu=new JMenuItem("status bar");
		windowsmenu.add(statusbarmenu);
		arrangemenu=new JMenuItem("Arrange");
		viewmenu.add(arrangemenu);
		menubar.add(filemenu);
		menubar.add(editmenu);
		menubar.add(viewmenu);
		menubar.add(windowsmenu);
		menubar.add(helpmenu);
	    form.setJMenuBar(menubar);
	}
	public static void main(String[]args)
	{
		new firstFrame();
	}
}

و ال code الى انت كتبته فى حطأ

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

#5
import java.awt.*;
import javax.swing.*;
public class FirstFrame extends JFrame
{
    public JFrame form;
    public JPanel panel;
    public JMenuBar menubar;
    public JMenu filemenu,editmenu,viewmenu,windowsmenu,helpmenu;
    public JMenuItem openmenu,closemenu,savemenu,saveAsMenu,saveMenu,aboutmenu,undomenu,statusbarmenu,arrangemenu;
    public FirstFrame()
    {
        //build the windows frame
        panel=new JPanel(true);
        form=new JFrame("ahabdeen first windows");
        form.getContentPane().add("Center", panel);
        form.setVisible(true);
        form.setSize(300,300);
        form.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = form.getSize();
        if (frameSize.height > screenSize.height) {
        frameSize.height = screenSize.height;
        }
        if (frameSize.width > screenSize.width) {
        frameSize.width = screenSize.width;
        }
        form.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
        //build the Menu frame
        menubar=new JMenuBar();
        filemenu=new JMenu("File");
        editmenu=new JMenu("Edit");
        viewmenu=new JMenu("View");
        windowsmenu=new JMenu("Windows");
        helpmenu=new JMenu("Help");
        openmenu=new JMenuItem("Open");
        closemenu=new JMenuItem("Close");
        savemenu=new JMenu("Save");
        saveAsMenu=new JMenuItem("Save as");
        saveMenu=new JMenuItem("Save...");
        filemenu.add(openmenu);
        filemenu.addSeparator();
        savemenu.add(saveMenu);
        savemenu.add(saveAsMenu);
        savemenu.add(saveAsMenu);
        filemenu.add(savemenu);
        filemenu.addSeparator();
        filemenu.add(closemenu);
        aboutmenu=new JMenuItem("About");
        helpmenu.add(aboutmenu);
        undomenu=new JMenuItem("Undo");
        editmenu.add(undomenu);
        statusbarmenu=new JMenuItem("status bar");
        windowsmenu.add(statusbarmenu);
        arrangemenu=new JMenuItem("Arrange");
        viewmenu.add(arrangemenu);
        menubar.add(filemenu);
        menubar.add(editmenu);
        menubar.add(viewmenu);
        menubar.add(windowsmenu);
        menubar.add(helpmenu);
        form.setJMenuBar(menubar);
    }
    public static void main(String[]args)
    {

        new FirstFrame();
    }
}

اضف

import java.awt.*;
#6

thx again 4 ur help

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

#7

و لكن هناك مشكلة اخرى هى ان ال MenuBar لا تظهر عند بداية فتح النافذة

و تظهر بعد تكبير او تعديل حجم النافذة؟؟؟؟

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

#8

انا لاحظت هذا لكن اللي شد انتبهاي هو الـ JFrame

ليه مسوي اثنين من الـ JFrame ؟؟؟

#9

انا عدلت فى الكود و لا شىء اتغير؟؟؟

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

#10
import java.awt.*;
import javax.swing.*;
public class FirstFrame extends JFrame {
    public JPanel panel;
    public JMenuBar menubar;
    public JMenu filemenu,editmenu,viewmenu,windowsmenu,helpmenu;
    public JMenuItem openmenu,closemenu,savemenu,saveAsMenu,saveMenu,aboutmenu,undomenu,statusbarmenu,arrangemenu;
    public FirstFrame() {
    	super("Frame");
        setSize(300,300);

		panel=new JPanel();
        //build the Menu frame
        menubar=new JMenuBar();
        filemenu=new JMenu("File");
        editmenu=new JMenu("Edit");
        viewmenu=new JMenu("View");
        windowsmenu=new JMenu("Windows");
        helpmenu=new JMenu("Help");
        openmenu=new JMenuItem("Open");
        closemenu=new JMenuItem("Close");
        savemenu=new JMenu("Save");
        saveAsMenu=new JMenuItem("Save as");
        saveMenu=new JMenuItem("Save...");
        filemenu.add(openmenu);
        filemenu.addSeparator();
        savemenu.add(saveMenu);
        savemenu.add(saveAsMenu);
        savemenu.add(saveAsMenu);
        filemenu.add(savemenu);
        filemenu.addSeparator();
        filemenu.add(closemenu);
        aboutmenu=new JMenuItem("About");
        helpmenu.add(aboutmenu);
        undomenu=new JMenuItem("Undo");
        editmenu.add(undomenu);
        statusbarmenu=new JMenuItem("status bar");
        windowsmenu.add(statusbarmenu);
        arrangemenu=new JMenuItem("Arrange");
        viewmenu.add(arrangemenu);
        menubar.add(filemenu);
        menubar.add(editmenu);
        menubar.add(viewmenu);
        menubar.add(windowsmenu);
        menubar.add(helpmenu);
        setJMenuBar(menubar);

        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        if(frameSize.height > screenSize.height) {
        	frameSize.height = screenSize.height;
        }
        if(frameSize.width > screenSize.width) {
        	frameSize.width = screenSize.width;
        }
        setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
        show();
    }
    public static void main(String[]args) {
        new FirstFrame();
    }
}

ناظر التغيرات الموجودة بالكود :)

#11

انت اضفت ال super()وshow() ما هى فائدتهم؟؟

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

#12

super عشان اضيف العنوان

show تعمل عمل setVisiable لكن انا استعمل show دائما مع الـ Main Frame و الـ setVisiable مع الـ JInternalFrame و الـ JDailog

#13

thx 4 ur help

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

#14

اسف بس فى شغلة تانية

ازاى اغير شكل ال JBuuton او احدد مكانه؟؟؟

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

#16

فى حاجات كتيرة

boxlayout ,flowlayout,springlayout,gridbaglayout,gridlayout,borderlayout

و مش عارف استخدمهم صح؟؟؟؟

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

#17
import javax.swing.*;
import java.awt.*;
class window extends JFrame
{
	public window()
	{
		super("ahabdeen windows with java");
		setSize(300,100);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
		Container area=getContentPane();
		FlowLayout flow=new FlowLayout(FlowLayout.LEFT);
		JPanel panel1=new JPanel();
		JPanel panel2=new JPanel();
		JButton play=new JButton("Play");
		JButton pause=new JButton("Pause");
		GridLayout grid1=new GridLayout();
		GridBagConstraints pos1=new GridBagConstraints();
		pos1.gridx=10;
		pos1.gridy=0;
		GridBagLayout grid2=new GridBagLayout();
		GridBagConstraints pos2=new GridBagConstraints();
		pos2.gridx=100;
		pos2.gridy=100;
		panel1.setLayout(grid1);
        panel2.setLayout(grid2);
		panel1.add(play,pos1);
		panel2.add(pause,pos2);
		area.setLayout(flow);
		area.add(panel1);
		area.add(panel2);
		setContentPane(area);



	}
}
public class windows
{
	public static void main(String args[])
	{
		window win=new window();
	}
}

دا ال code الى انا عملته بس الأزرار دائما تطلع على اليسار و ليس ف المكان المحدد

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

#19

ما رايك بهذا

import javax.swing.*;
import java.awt.*;
class window extends JFrame
{
	public window()
	{
		super("ahabdeen windows with java");
		setSize(300,100);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
		Container area=getContentPane();
		JButton play=new JButton("play");
		JButton pause=new JButton("pause");
		area.setLayout(null);
		area.add(play);
		area.add(pause);
		setContentPane(area);
		Insets inset=area.getInsets();
		play.setBounds(10+inset.left,5+inset.top,90,25);
		pause.setBounds(110+inset.left,500+inset.top,90,25);
	}
}
public class windows
{
	public static void main(String args[])
	{
		window win=new window();
	}
}

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

#21

دا بس لتحديد مكان الأزرار بالظبت؟؟؟؟

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

#23

ما هى دى المشكلة انك تعرف الا حداثى x و y لكل مكون ؟؟؟

بس اكيد فى طريقة اسهل لوضع المكونات كما تريد!!!!

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

#25

thx 4 ur help

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

هذا الموضوع مغلق.

مواضيع مشابهة