السلام عليكم ورحمة الله وبركاته
أنشئت JFrame عن طريق Drag & Drop بال NetBeans هل هناك طريقة للتعديل على السورس كال Jdeveloper ؟

السلام عليكم ورحمة الله وبركاته
أنشئت JFrame عن طريق Drag & Drop بال NetBeans هل هناك طريقة للتعديل على السورس كال Jdeveloper ؟

لا يمكن التعديل من خلال netbeans ولكن يمكن أن تفتح الملف LoginSceen02.java بمحرر نصوص عادي والتعديل كيفما تشاء
تم تعديل هذه المشاركة بواسطة أحمد أبو عبد البر في 10 أكتوبر 2014 في 23:37
إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة
فما أحوجني إلى دعوة صالحة من أخ لي كريم
أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز
أحمد أبو عبد البر كتب:لا يمكن التعديل من خلال netbeans ولكن يمكن أن تفتح الملف LoginSceen02.java بمحرر نصوص عادي والتعديل كيفما تشاء
جزاك الله كل خير أخي الكريم ،حاولت التعديل بالمحرر و لم يعمل Run للبرنامج ما المشكلة في الكود ؟
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author Muhammed_Pro
*/
public class LoginScreen02 extends javax.swing.JPanel {
/**
* Creates new form LoginScreen02
*/
public LoginScreen02() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
public void initComponents() {
jPanel1 = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jPasswordField1 = new javax.swing.JPasswordField();
jPanel1.setVisible(true);
setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jPanel1.setBackground(new java.awt.Color(0, 204, 51));
jPanel1.setName("Login Screen"); // NOI18N
jPanel1.setPreferredSize(new java.awt.Dimension(300, 150));
jButton1.setText("Login");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setText("Cancel");
jButton2.setPreferredSize(new java.awt.Dimension(80, 20));
jButton3.setText("Help");
jLabel1.setText("User name");
jLabel1.setPreferredSize(new java.awt.Dimension(80, 20));
jLabel2.setText("Password");
jLabel2.setPreferredSize(new java.awt.Dimension(80, 20));
jTextField1.setText("jTextField1");
jTextField1.setPreferredSize(new java.awt.Dimension(120, 20));
jPasswordField1.setText("jPasswordField1");
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(26, 26, 26)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 14, Short.MAX_VALUE)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(20, 20, 20))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(43, 43, 43)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 150, Short.MAX_VALUE)
.addComponent(jPasswordField1))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jButton1, jButton2, jButton3});
jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel1, jLabel2});
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addGap(22, 22, 22)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 27, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton3))
.addGap(20, 20, 20))
);
jPanel1Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jButton1, jButton2, jButton3});
jPanel1Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jLabel1, jLabel2});
jPanel1Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jPasswordField1, jTextField1});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 310, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
}// </editor-fold>//GEN-END:initComponents
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jButton1ActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
javax.swing.JButton jButton1;
javax.swing.JButton jButton2;
javax.swing.JButton jButton3;
javax.swing.JLabel jLabel1;
javax.swing.JLabel jLabel2;
javax.swing.JPanel jPanel1;
javax.swing.JPasswordField jPasswordField1;
javax.swing.JTextField jTextField1;
// End of variables declaration//GEN-END:variables
}
تم تعديل هذه المشاركة بواسطة Muhammed Magdy في 11 أكتوبر 2014 في 11:53
وما هي رسالة الخطأ
إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة
فما أحوجني إلى دعوة صالحة من أخ لي كريم
أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز
أحمد أبو عبد البر كتب:وما هي رسالة الخطأ
لا يظهر ال JFrame عند عمل Run
ما هي التعديلات التي أجريتها
إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة
فما أحوجني إلى دعوة صالحة من أخ لي كريم
أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز
أحمد أبو عبد البر كتب:ما هي التعديلات التي أجريتها
أضفت public لدالة initComponents() و jPanel1.setVisible(true);
الدالة initComponents
مصرحة على أنها private
فإذا كنت أضفت إليها public دون أن تحذف الكلمة private فهذا خطأ
إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة
فما أحوجني إلى دعوة صالحة من أخ لي كريم
أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز
أحمد أبو عبد البر كتب:الدالة initComponents
مصرحة على أنها private
فإذا كنت أضفت إليها public دون أن تحذف الكلمة private فهذا خطأ
أبدلتها طبعاً، لما أنشئت مشروع جديد البرنامج إشتغل بس بعد ما وضعت LoginScreen02.setVisible(true); في ال Main بالرغم من إنها مفعلة في السورس، كيف أفعل ال Visible عن طريق الإختيار من خصائص ال JFrame ؟ لأني بحث عنها في كل ال Editors وماوجدتها
السلام عليكم
الواجهة التي تريد رسمها بسيطة و غير مُعقدة، لماذا لا تكتب الكود يدوياً ؟ :)
إذا كانت لديك مشاكل في كيفية تحديد وضعية مكونات معينة، يمكننا مُساعدتك.
الأمر بسيط جداً، لا تستخدم Drag and Drop إلا إن كنت مُكرهاً.
C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around. ― Dennis Ritchie
~OoO~________--------------------------------------------________~OoO~
من مواضيعي :
Snack3r وعليكم السلام ورحمة الله وبركاته ، أخي أنا مبتدأ في ال GUI تعلمت تنفيذها بالأكواد و المشكلة الأن في ال Drag and Drop ، بالإضافة المحاضر يشرح بهذة الطريقةSnack3r كتب:السلام عليكم
الواجهة التي تريد رسمها بسيطة و غير مُعقدة، لماذا لا تكتب الكود يدوياً ؟ :)
إذا كانت لديك مشاكل في كيفية تحديد وضعية مكونات معينة، يمكننا مُساعدتك.
الأمر بسيط جداً، لا تستخدم Drag and Drop إلا إن كنت مُكرهاً.
الأصل في استخدام Drag and Drop أن تكون على دراية بالتعامل مع مختلف مكونات Swing، في هذه الحالة تأتي فائدة DaD في استثمار الوقت.
أما إن كنت جديداً على برمجة الواجهات في الجافا فأنصحك أخي الكريم بالإبتعاد عن رسم الواجهات لأنه سيُولد لك كود لن تفهمه.
إن كنت مُصراً على رسم الواجهة فقم بتغييرها من خلال الـ Graphical user interface builder و إلا فقم بكتابة الكود يدوياً، دمج الطريقتين قد يُسبب لك مشاكل من حيث الـ inconsistency.
عموماً، أخبرنا بما تُريد تغييره لكي نستطيع مُساعدتك.
بالتوفيق.
تم تعديل هذه المشاركة بواسطة Snack3r في 13 أكتوبر 2014 في 14:53
C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around. ― Dennis Ritchie
~OoO~________--------------------------------------------________~OoO~
من مواضيعي :
Snack3r كتب:الأصل في استخدام Drag and Drop أن تكون على دراية بالتعامل مع مختلف مكونات Swing، في هذه الحالة تأتي فائدة DaD في استثمار الوقت.
أما إن كنت جديداً على برمجة الواجهات في الجافا فأنصحك أخي الكريم بالإبتعاد عن رسم الواجهات لأنه سيُولد لك كود لن تفهمه.
إن كنت مُصراً على رسم الواجهة فقم بتغييرها من خلال الـ Graphical user interface builder و إلا فقم بكتابة الكود يدوياً، دمج الطريقتين قد يُسبب لك مشاكل من حيث الـ inconsistency.
عموماً، أخبرنا بما تُريد تغييره لكي نستطيع مُساعدتك.
بالتوفيق.
جزاك الله خيراً ، أريد أن أعرف ما المقابل لدالة setVisible هنا

و أريد أن أفهم هذا الكود ، هل ال Main هذة تفرق عن ال Class Main و لماذا تم عمل دالة setVisible هنا ك Event

اقتباس
أريد أن أعرف ما المقابل لدالة setVisible هنا
لا تحتاج لمقابل، فقط قم بتغيير قيمة الوسيط.
اقتباس
هل ال Main هذة تفرق عن ال Class Main و لماذا تم عمل دالة setVisible هنا ك Event
لعلك لم تقرأ عن الـ Event Dispatch Thread في برمجة الواجهات.
الـ EDT عبارة عن الـ Thread الذي تعتمد عليه AWT و Swing في تسيير مختلف الـ events سواء كانت repaint, display, event propagation إلخ.
الـ graphical components ينبغي استخدامها فقط من طرف الـ EDT، استخدامها من طرف أي thread آخر قد يُولد أخطاء أو يُحدث خللا في كيفية ظهور الـ components.
نأتي الآن إلى كيفية استدعاء الـ EDT لإجراء عمل معين بعد حين، هنا تأتي فائدة استدعاء الدالة invokeLater لإظهار النافذة.
إظهار النافذة لا يجب أن يتم بشكل لحظي و إنما تظهر النافذة بعد إنشاء و إدراج جميع المكونات الرئيسية، لذا تم استدعاء invokeLater.
الدالة setVisible تقوم بإظهار أو إخفاء الشاشة حسب قيمة الوسيط المُمرر.
تم تعديل هذه المشاركة بواسطة Snack3r في 14 أكتوبر 2014 في 01:04
C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around. ― Dennis Ritchie
~OoO~________--------------------------------------------________~OoO~
من مواضيعي :
Snack3r كتب:لا تحتاج لمقابل، فقط قم بتغيير قيمة الوسيط.
لعلك لم تقرأ عن الـ Event Dispatch Thread في برمجة الواجهات.
الـ EDT عبارة عن الـ Thread الذي تعتمد عليه AWT و Swing في تسيير مختلف الـ events سواء كانت repaint, display, event propagation إلخ.
الـ graphical components ينبغي استخدامها فقط من طرف الـ EDT، استخدامها من طرف أي thread آخر قد يُولد أخطاء أو يُحدث خللا في كيفية ظهور الـ components.
نأتي الآن إلى كيفية استدعاء الـ EDT لإجراء عمل معين بعد حين، هنا تأتي فائدة استدعاء الدالة invokeLater لإظهار النافذة.
إظهار النافذة لا يجب أن يتم بشكل لحظي و إنما تظهر النافذة بعد إنشاء و إدراج جميع المكونات الرئيسية، لذا تم استدعاء invokeLater.
الدالة setVisible تقوم بإظهار أو إخفاء الشاشة حسب قيمة الوسيط المُمرر.
جزاك الله كل خير ، فعلاً في كل الدورات المشروحة لم أصل لموضوع ال Theads عموماً ، ياريت تفيدني إذا هناك مواضيع تغطي المعلومات الناقصة :)
تم تعديل هذه المشاركة بواسطة Snack3r في 14 أكتوبر 2014 في 16:18
C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around. ― Dennis Ritchie
~OoO~________--------------------------------------------________~OoO~
من مواضيعي :