السلام عليكم...
يعطيكم العافية ياخوة..
هل يوجد طريقة لوضع الادوات (JLabel,JTextField,JButton ....)على واجهة Frame باستخدام نظام الاحداثيات X و Y
والتحكم في اماكن هذه الادوات؟؟؟؟
السلام عليكم...
يعطيكم العافية ياخوة..
هل يوجد طريقة لوضع الادوات (JLabel,JTextField,JButton ....)على واجهة Frame باستخدام نظام الاحداثيات X و Y
والتحكم في اماكن هذه الادوات؟؟؟؟
"وَمَا تَدْرِي نَفْسٌ مَّاذَا تَكْسِبُ غَداً وَمَا تَدْرِي نَفْسٌ بِأَيِّ أَرْضٍ تَمُوتُ إِنَّ اللَّهَ عَلِيمٌ خَبِيرٌ"
في البداية ضع
getContentPane().setLayout(null);
بعد ذلك استخدم الدالة
something.setBorder(startPointX,startPointY,width,height);
حيث something أي مكون كان
تأكد فقط من أسماء الدوال
تحياتي
السلام عليكم..
شكرا على تعاونكم..
ولكن اتبعت متل ماحكيت ومازبط..
ياريت تعطينا متال صغير فيه كم اداة يتم ترتيبها عل الفريم حسب احداتيات x و y .
المشكلا باختصار هي انو اريد انشاء واجهة صغير لدليل تلفون تحتوي على ثلاث TextField رقم الهاتف واسم الشخص والمدينة,
وكذلك معهم ثلات Label رقم الهاتف واسم الشخص والمدينة.
واسفلهم اربع Button للحفظ والتعديل والحذف وزر جديد.ومش قادر اتحكم في اماكن توزيع هده الادوات على الفريم حسب مابدي؟؟
وهل يوجد طرق اخرى دون استخدام الاحداثيات(x,y),لتوزيع هذه الكومبونت على الفريم حسب مابدي.
شكرا كتير لتعاونكم..
"وَمَا تَدْرِي نَفْسٌ مَّاذَا تَكْسِبُ غَداً وَمَا تَدْرِي نَفْسٌ بِأَيِّ أَرْضٍ تَمُوتُ إِنَّ اللَّهَ عَلِيمٌ خَبِيرٌ"
السلام عليكم
أخي MNF , عليك بدراسة موضوع الرصف ( Layout ) في الجافا .. و هو مشروح بالتفصيل هنا :
http://72.5.124.55/docs/books/tutorial/uis...out/visual.html
البرنامج التالي يوضح استخدام ثلاث أنواع من الرصف :
الـ Frame الرئيسية تتبع الرصف الحدودي BorderLayout
الـ Panel الأولى تتبع الرصف الشبكي GridLayout
الـ Panel الثانية تتبع الرصف التدفقي FlowLayout
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class MainFrame extends JFrame{
static final long serialVersionUID = 1l;
public static void main(String[] args) {
new MainFrame();
}
public MainFrame() {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
private void createAndShowGUI() {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container pane = frame.getContentPane();
pane.setLayout(new BorderLayout());
pane.add(initPanel(),BorderLayout.PAGE_START);
pane.add(initPanel2(),BorderLayout.PAGE_END);
frame.pack();
frame.setVisible(true);
}
public JPanel initPanel(){
JPanel panel = new JPanel(new GridLayout(3,2));
panel.add(lblPhone);
panel.add(txtPhone);
panel.add(lblName);
panel.add(txtName);
panel.add(lblCity);
panel.add(txtCity);
return panel;
}
public JPanel initPanel2(){
JPanel panel = new JPanel(new FlowLayout());
panel.add(btnSave);
panel.add(btnEdit);
panel.add(btnDelete);
panel.add(btnNew);
return panel;
}
JTextField txtPhone = new JTextField();
JTextField txtName = new JTextField();
JTextField txtCity = new JTextField();
JLabel lblPhone = new JLabel("Phone");
JLabel lblName = new JLabel("Name");
JLabel lblCity = new JLabel("City");
JButton btnSave = new JButton("Save");
JButton btnEdit = new JButton("Edit");
JButton btnDelete = new JButton("Delete");
JButton btnNew = new JButton("New");
}أبو خالد السوري
أنا بصراحة أفضل طريقة الرصف بالنقطة
لأنها تعطيني حرية أكبر
على العموم الأخ أبو خالد لم يقصر
لكن إن أردت أن تتعامل مع طريقة النقطة
يفضل أن تستخدم إحدى برامج تصميم الواجهات
تحياتي
السلام عليكم..
شكر كتيررررررررر يا أخ" أبو خالد السوري" ..جزاك الله الف خير ...
وبالنسبة للتعامل مع الرصف بالاحداثيات والنقط,هي الطريقة التي ابحث عنها بسبب مرونتها في الرسم.
فهل ممكن التعامل معها ياأخ "alaadiaa" من دون استخدام اي برامج خارجية لرسم الواجهات؟
"وَمَا تَدْرِي نَفْسٌ مَّاذَا تَكْسِبُ غَداً وَمَا تَدْرِي نَفْسٌ بِأَيِّ أَرْضٍ تَمُوتُ إِنَّ اللَّهَ عَلِيمٌ خَبِيرٌ"
لا مشاكل في هذا
بالتأكيد يمكنك
الإحداثي (0،0) يبدأ من أعلى نقطة في اليسار
وعلى ذلك تستطيع رسم المكونات components الخاصة بك
في المكان الذي تريد
تحياتي
السلام عليكم
الموضوع بسيط للغاية و لكن الاول لازم تعرف ان لكل container التخطيط الخاص بة
مثلا ال (JFrame, JDialog) التخطيط الافتراضى لهم هو BorderLayout
اذا لما تحب انت ترسم بنفسك كل حاجة فى مكان معين يبقى لازم توقف الافتراضى عن طريق setLayout(null)
و بعد كدة هتستخدم setBounds(int x, int y, int width, int height) و دية لكل component
و بعد كدة هتعمل add لكل واحد على الframe
بس انت ممكن تستعمل احد layout الموجودة او لو انت غاوى كدة ممكن تستعمل اى IDE و هم كثير
السلام عليكم..
جزاكم الله الف خير...
اذ في امكانية يا أخ"mohamed rageb" تسرد لنا مثال صغير يتناول موضوع setBounds, ويحتوي على مجموعة من
component, وعملية اضافتها على Frame.
شكرااااا على تعاونكم...
"وَمَا تَدْرِي نَفْسٌ مَّاذَا تَكْسِبُ غَداً وَمَا تَدْرِي نَفْسٌ بِأَيِّ أَرْضٍ تَمُوتُ إِنَّ اللَّهَ عَلِيمٌ خَبِيرٌ"
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…