أخي عصام ,
أنا تلخبطت مره يقول بدون Import و مره يقول بدون package statment :wacko: ..
واللي أتوقعه صح أنه بدون package statment :wink: ..
أشرح لي المقصود بها ؟ وشكراً جزيلاً :)
سبحآن الله وبحمده .. سبحآن الله العظيم .. ,
أخي عصام ,
أنا تلخبطت مره يقول بدون Import و مره يقول بدون package statment :wacko: ..
واللي أتوقعه صح أنه بدون package statment :wink: ..
أشرح لي المقصود بها ؟ وشكراً جزيلاً :)
سبحآن الله وبحمده .. سبحآن الله العظيم .. ,
package أو الحزمة هي طريقة لتجميع الفئات التي لها خصائص مشتركة، مثلا كل مكونات swing نجدها في الحزمة javax.swing، وكل مكونات awt نجدها في الحزمة java.awt
الpackage مرتبط بالfile system، هذا يعني أن كل package يمثل مجلد directory، فمثلا عندما تقولين أن الclass A تنتمي للحزمة mypackage فهذا يعني أن الملف A.class يوجد داخل مجلد إسمه mypackage
الpackage تفيد أيضا في تجنب الnaming conflits. مثلا لنفترض أنك حملت مكتبتين وتريدين استعمالهما، وكلتاهما تحتويان على فئة اسمها A. في برنامجك عندما ستستعملين هذه الفئة، فإن الcompiler لن يعرف اي واحدة يستعمل، هل A الموجودة في المكتبة الأولى، أم الموجودة في المكتبة الثانية. لكن باستعمال الpackages فيكفينا عمل import للحزمة التي نريد وبالتالي نكون حددنا الفئة A التي نريد استعمالها.
عندما لا تكتبين الpackage statement في بداية برنامجك، فإن الفئات تنتمي إلى الdefault package، وهو package بدون إسم تنتمي له كل الفئات الموجودة في نفس المجلد.
الpackage statement تحددين عن طريقها الحزمة التي تنتمي إليها الفئة التي تكتبين، بينما الimport تحددين بها الpackages التي ستسعملينها
package mypackage; //this class belong to the package "mypackage"
import javax.swing.*; //we import all the classes that exist in the package javax.swing
public class A {
....
}والله أعلم :)
مررررهـ شكراً يا أستاذي :) ..,
الله يوفقك دنيا وآخره ساعدتني كثير , وشرحك أكثر من رائع ..
الله يجزاك الجنة ..
تم تعديل هذه المشاركة بواسطة إشراقــه فجــر في 31 ديسمبر 2009 في 20:46
سبحآن الله وبحمده .. سبحآن الله العظيم .. ,
class CA {
private int x;
CA ( ){ }
CA ( int x1 ){ x = x1; }
void set ( ){ x = 0; }
void set ( int x1 ){ x = x1; }
public void printAll ( ){
System.out.println("x = " + x);
}
}
class CB extends CA{
private int y;
CB( ){
super();
y =0;
}
CB(int y1){
this(y1/2, y1);
y = y1;
}
CB(int x1, int y1){
super(x1);
y = y1;
}
public void printAll(){
super.printAll();
System.out.println("y = " + y);
}
}
public class InheritanceTest {
public static void main(String args[]){
CA a1 = new CA(3);
a1.printAll();
CB b1= new CB(6);
b1.printAll();
CA b2= new CB(8);
b2.printAll();
}
}اريد عمل تتبع لأمر الطباعة
CA b2= new CB(8);
وجزاكم الله عنا ألف خير
والله في عون العبد ماكان العبد في عون اخيه
تم تعديل هذه المشاركة بواسطة Haha_saa في 1 يناير 2010 في 15:30
السؤال غير واضح. ماذا تقصد بتتبع أمر الطباعة؟؟
حياك الله اخي عصام
أقصد بارك الله فيك
من اين يطبع هل يبدأ بالكلاس الأول ثم يذهب للكلاس الثاني المورث ام ماذا
السؤال بطريقة أخرى :
اذا عملت Compile اابرنامج يظهر لي نتائج وارقام كيف اتتبع وصول هذه النتيجة
وهذا السؤال لا تخلو منه امنتحانات الجافا Trace
ما عليك إلا أن تكتب أمر الطباعة في كل constructor وهكذا ستعرف ترتيب الconstructors
class CA {
private int x;
CA ( ) { System.out.println("CA()"); }
CA (int x1) { x = x1; System.out.println("CA(int)"); }
void set ( ){ x = 0; }
void set ( int x1 ){ x = x1; }
public void printAll ( ){
System.out.println("x = " + x);
}
}
class CB extends CA {
private int y;
CB() {
super();
y =0;
System.out.println("CB()");
}
CB(int y1) {
this(y1/2, y1);
y = y1;
System.out.println("CB(int)");
}
CB(int x1, int y1) {
super(x1);
y = y1;
System.out.println("CB(int, int)");
}
public void printAll() {
super.printAll();
System.out.println("y = " + y);
}
}
public class InheritanceTest {
public static void main(String args[]){
CA a1 = new CA(3);
a1.printAll();
CB b1= new CB(6);
b1.printAll();
CA b2= new CB(8);
b2.printAll();
}
}السلام عليكم
سنة سعيدة على الجميع بأذن الله
هل لى ان اعرف كيفية تلوين صف كامل فى جدول
مع العلم ان البيانات التى بداخله استدعيها من قاعدة البيانات
و انا اريد جعل صف واحد مميز عن بقية الصفوف عن طريق التلوين
و شكرا مقدما
Happy New Year


اسراء شلبى كتب:السلام عليكم
سنة سعيدة على الجميع بأذن الله
هل لى ان اعرف كيفية تلوين صف كامل فى جدول
مع العلم ان البيانات التى بداخله استدعيها من قاعدة البيانات
و انا اريد جعل صف واحد مميز عن بقية الصفوف عن طريق التلوين
و شكرا مقدما
Happy New Year
public Component getTableCellRendererComponent(
JTable table, Object value, boolean isSelected, boolean hasFocus,int row,int col)
{
String s = table.getModel().getValueAt(row,col).toString();
if(s.equalsIgnoreCase("Fail")) {
setForeground(Color.red);
}else {
setForeground(null);
}
return super.getTableCellRendererComponent(table, value, isSelected, hasFocus,
row, col);
}ألف شكر أخوي عصام
NullOne كتب:public Component getTableCellRendererComponent( JTable table, Object value, boolean isSelected, boolean hasFocus,int row,int col) { String s = table.getModel().getValueAt(row,col).toString(); if(s.equalsIgnoreCase("Fail")) { setForeground(Color.red); }else { setForeground(null); } return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col); }
بما أن الغرض هو تلوين سطر كامل، أظن أنه الأولى التحقق من قيمة row وتلوين الخلفية حسب السطر الذي نريده.
if (row == 1) { // second line
setForeground(Color.RED);
}لتوضيح ما كتبه أخونا NullOne، يجب أن تعرفي أن JTable لا تقوم برسم خلايا الجدول بنفسها، بل يقوم بذلك TableCellRenderer، هذه الinterface تحتوي على الطريقة getTableCellRendererComponent التي تعيد المكون الذي سيتم رسمه في الخلية. لذلك إذا أردت تغيير طريقة رسم خلايا الجدول، يجب عمل override لتلك الطريقة.
مثلا
DefaultTableCellRenderer renderer = new DefaultTableCellRenderer() {
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
Component cell = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if (row == 1)
cell.setBackground(Color.RED);
return cell;
}
};
table.setDefaultRenderer(Object.class, renderer);تم تعديل هذه المشاركة بواسطة herch في 1 يناير 2010 في 21:18
اين المشكله في هاد الكود : حيث انو عندما اضيف اوبجكيت علي Queue يقوم بحذف الذي قبلو وبضيف الابوجكيت الجديد ويقوم بطباعه الاوبجكيت الجديد
public String[][] getData()
{
String s[][] = new String[Size][4];
if (Front == null)
{
JOptionPane.showMessageDialog(null,"the Queue is Empty,You must Add new Student Befor");
}
else
{
int i = 0;
Node aNode = Front;
while (aNode != null)
{
Student tmp = aNode.s;
s[0] = tmp.name;
s[1] = String.valueOf(tmp.Id);
s[2] = String.valueOf(tmp.GradStudent);
s[3] = tmp.Address;
i += 1;
aNode = aNode.link;
}
}
return s;
}بحيث تقوم هذه الداله باخذ البيانات من Queue واضاقتها في Array من ونوع String لكي يتم طباعتها في JTable
باقي الكلاسات هنا
تم تعديل هذه المشاركة بواسطة Tigger_it في 1 يناير 2010 في 23:39


اخي الكريم nullone المنتدى كله ما في اشي اصلا
عندما اقوم بتسجيل الدخول كان المنتدى فقط للمشاهدة لا تستطيع التعديل على اي شيء وحتى صفحتي الشخصية لا استطيع الوصول اليها بقلي انت غير مصرح الك
ما بعرف المنتدى ليش صار هيك قبل فترة كان افضل بكتير من هيك ياريت تحكيلنا مع الادارة يرجعوا مثل ما كان قبل هيك بتعمل معي معروف والله منا عارف اشتغل اشي فيه بس بدخل اقرا واطلع لاني مش قادر افيد واعبر عن اسالتي بالشكل المطلوب
كتبت بواسطة NullOne
ارسلت اليكي private message
ما في رسائل عندي اصلا او ممكن انا ما بعرف كيف اصلهن اذا في عندك فكرة ياريت تدعمنا
@ Tigger_it
هل تريد أن تعمل Queue أم Linked list؟؟ لأنه حسب الكود الذي رأيت فانت تحاول عمل linked list
اريد عمل Queue وليس linked list
تم تعديل هذه المشاركة بواسطة Tigger_it في 2 يناير 2010 في 10:41


نسيم الجنة كتب:اخي الكريم nullone المنتدى كله ما في اشي اصلا
عندما اقوم بتسجيل الدخول كان المنتدى فقط للمشاهدة لا تستطيع التعديل على اي شيء وحتى صفحتي الشخصية لا استطيع الوصول اليها بقلي انت غير مصرح الك
ما بعرف المنتدى ليش صار هيك قبل فترة كان افضل بكتير من هيك ياريت تحكيلنا مع الادارة يرجعوا مثل ما كان قبل هيك بتعمل معي معروف والله منا عارف اشتغل اشي فيه بس بدخل اقرا واطلع لاني مش قادر افيد واعبر عن اسالتي بالشكل المطلوب
كتبت بواسطة NullOne
ارسلت اليكي private message
ما في رسائل عندي اصلا او ممكن انا ما بعرف كيف اصلهن اذا في عندك فكرة ياريت تدعمنا
contact me on
praguelessons[at]gmail[dot]com
لا أعرف إذا مسموح وضع email address هنا . إذاً اعتذر إذا ممنوع . أرجو أن تضعي إسم نسيم الجنة في ال-subject كي أعرفك
السلام عليكم ,,,,,,,, تحية طيبة
يا أخواني أريد احد يساعدني في هذا البرنامج
برنامج يقوم بإدخال جملة ويطبع اطول كلمة فيه مع طول الحروف مثلا على هذا البرنامج
import javax.swing.*;
public class hi {
public static void main (String args[]){
String h = JOptionPane.showInputDialog("Enter Your Sentence");
JOptionPane.showMessageDialog(null,h);
}
}وجزاكم الله خيرا
pro.fahd كتب:لو سمحتو شرح () toString
كيفيه استخدامه و الفائده منه
راجع الموضوع التالي -> ما فائدة toString
@ Haha_saa
أرنا محاولاتك، فلن تستفيد شيئا إذا اخدت الجواب جاهزا
تم تعديل هذه المشاركة بواسطة herch في 3 يناير 2010 في 03:14
مرحبا أخي عصام
بصراحة انا تعقددت حتى الفكرة ليست لدي
أرجوك ساعدني ولك جزيل الشكر
أولا يجب معرفة الكلمات الموجودة في الجملة. من أجل ذلك يمكن استعمال الطريقة String#split التي يجب أن نعطيها الفاصل الذي يفصل بين الكلمات، اي الفراغ، وهي تعيد مصفوفة String تحتوي على هاته الكلمات
String sentence = JOptionPane.showInputDialog("Enter Your Sentence");
String[] words = sentence.split(" ");الآن لم يبق لك إلا أن تقارن أطوال الكلمات. لمعرفة طول كل كلمة استعمل الطريقة length() الخاصة بString
تم تعديل هذه المشاركة بواسطة herch في 3 يناير 2010 في 13:48
السلام عليكم ,,,, تحية طيبة .
أخواني
أريد طباعة اطول كلمة في في الجملة التي في هذا البرنامج وأيضا طولها "عدد حروفها ".
أفيدوني بارك الله فيكم وهذي محاولتي :
import javax.swing.*;
public class hi {
public static void main (String args[]){
String sentence = ("Welcome to java Programming");
int n1 = sentence.length();
while (i<n1){
counter =0;
max=0 ;
c = n1.charAt(i);
while ( c!= " "){
counter =counter+1 ;
}
if (counter > max ){
max=counter ;
}
i = counter.char At(0);
}
JOptionPane.showMessageDialog(null,sentence+"\nLength:"+n1+max);
}
}ولا يفتوني ان اشكر الاخ الحبيب عصام على التلميح السابق وافيدكم أنه نفس السؤال السابق "إلى الان ما وجدت حل له ! ):"
تم تعديل هذه المشاركة بواسطة Haha_saa في 5 يناير 2010 في 00:37
كما قلت لك في الرد السابق، يجب أن تقسم الجملة أولا لتحصل على الكلمات، وذلك باستعمال split
أرجو أنك توضح لي أخي عصام أكثر
علما بأن ال split لم أدرسها ولم أتعلم استخدامها ):
انا ادرس حاليا ProgrammingII
يا أخي لماذا لا تبحث هنا في المنتدى
هناك الكثير من المواضيع التي تكلمت عن split
بالمناسبة الغالبية العظمى ممن تراهم هنا
لم يتعلموا split في الجامعة :lol:
تحياتي
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…