עבור לתוכן

גרפיקה בJAVA

Featured Replies

פורסם

אני צריכה לבנות תוכנית כזו:

לממש מחלקה של מכונית, מטוס, סירה <לכל אחד יש מלא פרמטרים חלקם משותפים ולכן יש מחלקת בסיס שהם יורשים ממנה>

אח"כ אני צריכה לבנות חלון שיש בו תפריט שכשאלחץ על מכונית יופיע לי בTEXTAREA רשימה של כל המכונית שיש לי.

בנוסף ישנם כפתורים להוספה, מחיקה ועדכון פרטים על כלי רכב.

אם אני רוצה להוסיף מכונית, בלחיצה על הכפתור נפתח לי חלון עם מלא שדות שבכל אחד אני צריכה להשלים את הפרטים על המכונית (מספר סידורי, יש.אין רדיו) וישנו כפתור OK,

איך אני גורמת שבלחיצה על הכפתור אכן תווסך לי המכונית לרשימת המכוניות <הם ברשימה, איך אני מוסיפה אותה לשם עם הפרטים שלה>?????

כשאני לוחצת על כפתור "עדכון" אני צריכה שבכל השדות יופיעו לי הפרטים שמלאתי על המכונית הזו, איך אני עושה את זה? איך אני שומרת את הפרטים החדשים?

פורסם

אני לא יודע JAVA אבל נראה לי שאת יכולה להעלות EVENT שמעלה את המכונית....לחלון הקודם.

פורסם

הפרטים לא שמורים באיזה מבנה נתונים ? תעשי כשהחלון נפתח, תעברי לו ב constructor מבציע לאובייקט המכונית, ושהוא ישאב את הנתונים לתוך ה textarea השונים.

פורסם
  • מחבר

כל אוביקט (מכונית1,מכונית2,מכונית3) שמור כאיבר ברשימה.

תעברי לו ב constructor מבציע לאובייקט המכונית, ושהוא ישאב את הנתונים לתוך ה textarea השונים.

איך עושים כזה דבר???

איך מעלים אח"כ שוב את הפרטים שקשורים לאוביקא מבוקש כדי לעדכן אותם?

פורסם

נגיד יש לך בחלון כל מני TextArea שאמורים להציג את הפרטים השונים של המכונית. תעשי מתודה Public במחלקה של החלון שמקבלת אובייקט מסוג car ומציבה את הערכים השונים שלו בתוך ה TextArea/

פורסם
  • מחבר

בערך הבנתי.

ועוד שאלה: יש לי MODEL LIST בחלון שאם בחרתי בפונקציה מכוניות רשימת המכוניות יופיעו לי שם ואז אוכל לבחור מכונית ולמחוק אותה מהרשימה.

הבעיה: אני לא מצליחה למחוק את המכונית המבוקשת

זו התכנית: <פונקציית מחיקה והוספה>


if(pressed==add)
{
if(comb.getSelectedIndex()==0)
{
JOptionPane.showMessageDialog(null,"Select sug of Vehicle");
}
else
if(comb.getSelectedIndex()==1)
{
JFrame f = new JFrame();

Information ifrm = new Information(f,"Add car");
ifrm.setSize(700,270);

ifrm.setVisible(true);

if(ifrm.ok == true)
{
Car car = new Car('c', ifrm.Numserial, ifrm.YatzranName, ifrm.Degem, ifrm.YeatzurYear, ifrm.HaskaraDate, ifrm.HachzaraDate, ifrm.Taarif, ifrm.Hanaa, ifrm.Tlut, ifrm.Energy, ifrm.Hitkadmut, ifrm. Hege, ifrm.cheir, ifrm.galgal, ifrm.radio, ifrm.DVD);
v.Add(car);
listmodel.addElement(car.getNum());

txt.append("\n"+"car:"+":\n"+v.DisplayCar()+"\n");
}
}
else
if(comb.getSelectedIndex()==2)
{
JFrame f = new JFrame();

Information ifrm = new Information(f,"Add plane");
ifrm.setSize(700,270);

ifrm.setVisible(true);

if(ifrm.ok == true)
{
Plane plane = new Plane('p', ifrm.Numserial, ifrm.YatzranName, ifrm.Degem, ifrm.YeatzurYear, ifrm.HaskaraDate, ifrm.HachzaraDate, ifrm.Taarif, ifrm.Hanaa, ifrm.Tlut, ifrm.Energy, ifrm.Hitkadmut, ifrm. Hege, ifrm.cheir, ifrm.knafaim, ifrm.staff, ifrm.hatzalaBoat, ifrm.shop);
v.Add(plane);
listmodel.addElement(plane.getNum());

txt.append("\n"+"plane:"+":\n"+v.DisplayPlane()+"\n");
}
}
else
if(comb.getSelectedIndex()==3)
{
JFrame f = new JFrame();

Information ifrm = new Information(f,"Add boat");
ifrm.setSize(700,270);

ifrm.setVisible(true);

if(ifrm.ok == true)
{
Boat boat = new Boat('b', ifrm.Numserial, ifrm.YatzranName, ifrm.Degem, ifrm.YeatzurYear, ifrm.HaskaraDate, ifrm.HachzaraDate, ifrm.Taarif, ifrm.Hanaa, ifrm.Tlut, ifrm.Energy, ifrm.Hitkadmut, ifrm. Hege, ifrm.cheir, ifrm.ogen, ifrm.staff, ifrm.bed, ifrm.shop);
v.Add(boat);
listmodel.addElement(boat.getNum());

txt.append("\n"+"boat:"+":\n"+v.DisplayBoat()+"\n");
}

}
}
else
if(pressed==remove)
{
if(comb.getSelectedIndex()==0)
{
JOptionPane.showMessageDialog(null,"Select sug of Vehicle");
}
else
if ((listmodel.getSize()>0)&&(list.getSelectedIndex()>=0))
{
Integer numSerial;

int index = list.getSelectedIndex();
numSerial=Integer.parseInt((String)listmodel.get(index));

int question;
String message = "Do you want to remove this vehicle?";
question = JOptionPane.showConfirmDialog(null, message, "Remove", 0, 3, null);

if(question ==JOptionPane.YES_OPTION)
{
listmodel.remove(index);
v.RemoveV(numSerial);
if (index == listmodel.getSize())
index--;
list.setSelectedIndex(index);

if(comb.getSelectedIndex()==1)
{
txt.append("\n"+"car:"+":\n"+v.DisplayCar()+"\n");
}
else
if(comb.getSelectedIndex()==2)
{
txt.append("\n"+"plane:"+":\n"+v.DisplayPlane()+"\n");
}
else
if(comb.getSelectedIndex()==3)
{
txt.append("\n"+"boat:"+":\n"+v.DisplayBoat()+"\n");
}
}
}
}



[br]פורסם בתאריך: 21.02.2007 בשעה 01:32:14


וזה מה שהדיבגר כותב לי:


Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at Show$ButtonPressed.actionPerformed(Show.java:283)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

מה לתקן?

פורסם

הוא רושם לך שיש לך שגיאת המרה מאוביקט מטיפוס מספר לאוביקט מסוג מחרוזת בשורה 283 בקובץ Show.java, מכיוון שזה לא כל הקובץ, והשורות לא ממוספרות, תגלי לבד היכן זה ותתקני.

פורסם
  • מחבר

זו שורה 283 מה לא תקין פה??? (בתוך הIF של הREMOVE)

    numSerial=Integer.parseInt((String)listmodel.get(index));

פורסם

למה את ממירה לסטרינג ואז לINT?

פורסם
  • מחבר

כי בשום צורה אחרת שניסיתי זה לא מתקמפל.

איך זה צריך להיות (NUMSERIAL הוא מסוג INTEGER) ????

פורסם

שוב, קשה לעבוד עם חצאי קוד ולא לראות את ההגדרות של כל המשתנים וכו'.

למשל:

listmodel.addElement(car.getNum());

האם getNum מחזיר משתנה מסוג מספר או מחרוזת ? משום מה נראה לי שזה מחזיר מספר, לכן את מוסיפה משתנה מסוג מספר לרשימה.

לאחר מכן, כאשר את מבצעת:

numSerial=Integer.parseInt((String)listmodel.get(index));

הוא מחזיר לך את הטיפוס ששמת שלם, אזי מסוג מספר, אבל את ישר ממירה אותו למחרוזת וזה לא ניתן (וזו השגיאה). נסי:

numSerial=((Integer)listmodel.get(index));

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים