Speed_Of_Light كتب:البرنامج يعمل معي بشكل صحيح على لينكس
ربما هي مشكلة خاصة بويندوز
إذاً عليك بكود الأخ san3aniJava فهو يقوم بما تريد
انا جربته كتير ولكن لا يعمل قد يكون فعلا مشكله فى الويندوز
شكرا اخى الكريم اجهدتك معى
جزاك الله خيرا
Speed_Of_Light كتب:البرنامج يعمل معي بشكل صحيح على لينكس
ربما هي مشكلة خاصة بويندوز
إذاً عليك بكود الأخ san3aniJava فهو يقوم بما تريد
انا جربته كتير ولكن لا يعمل قد يكون فعلا مشكله فى الويندوز
شكرا اخى الكريم اجهدتك معى
جزاك الله خيرا
san3aniJava كتب:أخي المهندس حمزاوي
اخبرتك بالحل في مشاركتي السابقة لكنك تجاهلته أو ربما لم تنتبه له
على العموم جرب الكود التالي وقل لي هل هذا ما تريده
import java.awt.Dimension; import java.awt.Rectangle; import java.awt.event.ComponentEvent; import java.awt.event.ComponentListener; import javax.swing.JFrame; public class Frametest extends JFrame implements ComponentListener { private static int MAX_H=400; private static int MAX_W=300; private static int MIN_H=100; private static int MIN_W=100; private boolean resize= false; public Frametest() { this.setSize(new Dimension(100, 100)); this.addComponentListener(this); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String args[]) { new Frametest().setVisible(true); } public void componentHidden(ComponentEvent e) { // TODO Auto-generated method stub } public void componentMoved(ComponentEvent e) { // TODO Auto-generated method stub } public void componentResized(ComponentEvent e) { // TODO Auto-generated method stub int w = this.getWidth(); int h = this.getHeight(); resize=false; if(h>Frametest.MAX_H) { h=Frametest.MAX_H; resize=true; } else if(h<Frametest.MIN_H) { h=Frametest.MIN_H; resize=true; } if(w>Frametest.MAX_W) { w=Frametest.MAX_W; resize=true; } else if(w<Frametest.MIN_W) { w=Frametest.MIN_W; resize=true; } if(resize) this.setSize(new Dimension(w, h)); } public void componentShown(ComponentEvent e) { // TODO Auto-generated method stub } }
انا بعتزر جدا انا رايت فعلا المشاركه واستخدمت الدوال setMinimum و setMaximum
ولكن لم تجدى معى بشىء
فعزرا لم اكن لاتجاهل احد
انا هاشرح لحضرتك
الشغل اللى حضرتك عملته بجد جميل جدا ومشكور على ذلك
وجزاك الله كل خير
ولكن لدى سوال لماذا يسمح للمستخدم بالتكبير كيفما يشاء وبعد ذلك اذا كان التكبير اكبر من الحجم المحدد
فانه يتم اعاده تشكيل الاطار على الحجم المحدد فقط
لماذا لا يظهر له سهم التعديل عندما يتعدى الحجم المحدد له ؟
ولكن ان لم تكن من اجابه فعملك كافى وجميل جدا
وشكر خاص للاخوه الذين قاموا بالرد على هذا الموضوع
وجزاكم الله كل خير
Eng.Hamzawy كتب:انا بعتزر جدا انا رايت فعلا المشاركه واستخدمت الدوال setMinimum و setMaximum
ولكن لم تجدى معى بشىء
فعزرا لم اكن لاتجاهل احد
انا هاشرح لحضرتك
الشغل اللى حضرتك عملته بجد جميل جدا ومشكور على ذلك
وجزاك الله كل خير
ولكن لدى سوال لماذا يسمح للمستخدم بالتكبير كيفما يشاء وبعد ذلك اذا كان التكبير اكبر من الحجم المحدد
فانه يتم اعاده تشكيل الاطار على الحجم المحدد فقط
لماذا لا يظهر له سهم التعديل عندما يتعدى الحجم المحدد له ؟
ولكن ان لم تكن من اجابه فعملك كافى وجميل جدا
وشكر خاص للاخوه الذين قاموا بالرد على هذا الموضوع
وجزاكم الله كل خير
نعم يا طيب
السبب في ذلك هو ان المستمع (الـ Listener) يستمع للحدث ComponentResized
يعني بعد ما تم تعديل حجم الفريم وبعد ذلك يقوم بإعادة الحجم الى الحجم الأقصى أو الأصغر
لكن اذا أردت حركة أخرى أفضل من هذه فيمكنك أن تجرب الاستماع للحدث MouseDragged لكن طبعا ليس للـ JFrame
امممم
اظن المسألة معقدة شويه لكن ربما هناك طريقة
ويمكنك ايضاً انشاء كلاس ابن من JWindow ثم عمل كل ما يحتاج لإعادة تحجيم النافذة وحينها يمكنك التحكم كلياً بالحد الاقصى والادنى للحجم
ربما هنالك طرق اخرى
تحياتي
لا بد من صنعاء وان طال السفر
san3aniJava كتب:نعم يا طيب
السبب في ذلك هو ان المستمع (الـ Listener) يستمع للحدث ComponentResized
يعني بعد ما تم تعديل حجم الفريم وبعد ذلك يقوم بإعادة الحجم الى الحجم الأقصى أو الأصغر
لكن اذا أردت حركة أخرى أفضل من هذه فيمكنك أن تجرب الاستماع للحدث MouseDragged لكن طبعا ليس للـ JFrame
امممم
اظن المسألة معقدة شويه لكن ربما هناك طريقة
ويمكنك ايضاً انشاء كلاس ابن من JWindow ثم عمل كل ما يحتاج لإعادة تحجيم النافذة وحينها يمكنك التحكم كلياً بالحد الاقصى والادنى للحجم
ربما هنالك طرق اخرى
تحياتي
جزاك الله كل خير
سوف احاول فى ايجاد طريقه
وان شاء الله لم اوصل اليها هاضعها على المنتدى
باذن الله
شكرا على المساعده
سلام عليكم