עזרה בJAVA (טיימר) - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

עזרה בJAVA (טיימר)


huhxd

Recommended Posts

שלום לכולם,

ניסיתי וניסיתי ואני פשוט לא מצליח. אני רוצה לבנות תוכנית בJAVA DESKTOP APPLICATION שעל הFRAME יש לי בסך הכל BUTTON אחד, בכל פעם שאני אלחץ עליו הוא יעלם ל X שניות (שאני אקבע) ויחזור לאחר הX שניות. אני לא הצלחתי לעשות את זה, בC# זה הרבה יותר קל כי יש את הטיימר המובנה והכל רץ אבל בכל זאת אני צריך את זה בJAVA ואשמח מאוד לעזרה.

קישור לתוכן
שתף באתרים אחרים

חרשתי את כל הגוגל, מצאתי קטעי קוד אבל אני לא ממש מצליח להבין אותם. מכיתה י' עד עכשיו (יב') למדתי C# ועם זה אין לי שום בעיה. בתחילת השנה החליטו שמוסיפים לנו גם את JAVA כשפה לבניית הפרוייקט לסוף השנה ועדיין אני לא הכי שולט בה. בJAVA אין כפתור מובנה (כמו בC# שפשוט גוררים אותו לFRAME). אשמח לעזרה.

קישור לתוכן
שתף באתרים אחרים

יש לך פה דוגמה מאוד פשוטה:

http://www.java2s.com/Tutorial/Java/0240__Swing/SwingTimers.htm

(אני מניח שאתה משתמש ב-swing בשביל ה-GUI, כן?)

זו דוגמה מאוד פשוטה. צור בקלאס שלך אובייקט מסוג Timer.

כשלוחצים על הכפתור, הקוד צריך להעלים אותו (כמובן) ולקרוא ל-timer.start.

ב-actionPerformed אתה צריך לכתוב את הקוד שאתה רוצה שירוץ כשהזמן של הטיימר יעבור (במקרה הזה, להחזיר את הכפתור, ולעצור את הטיימר).

יש?

קישור לתוכן
שתף באתרים אחרים

האמת שלא כל כך.. הבנתי שהתוכנית כותבת כל שניה את הטקסט, אבל לא הבנתי איך אני עושה כפתור כשאני אלחץ עליו הוא יעלם ל X זמן. ושוב, בJAVA DESKTOP APPLICATION ולא בJAVA CLASS רגיל. אשמח אם אקבל את הקטע קוד המדויק למה שאני צריך (במידה ואתה יכול ויודע). תודה רבה.

קישור לתוכן
שתף באתרים אחרים

[code]jButton1.setVisible(false);

בתוך SET ACTION כמובן.. ?

---עריכה---

 import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.Timer;
import javax.xml.ws.Action;

@Action
public void bye()
{



jButton1.setVisible(false);

Timer timer = new Timer(1000, new MyTimerActionListener());
timer.start();
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
}
timer.stop();

class MyTimerActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {

jButton1.setVisible(true);


}


}

// Variables declaration - do not modify
private javax.swing.JButton jButton1;
// End of variables declaration

}

כעקרון הגעתי למצב הזה.. אבל עדיין יש כמה בעיות וזה לא רץ. אשמח לדעת מה הבעיות.

קישור לתוכן
שתף באתרים אחרים

קודם כל, אין צורך בכל הקטע של ה-Thread.sleep.

חוץ מזה, את הטיימר אתה צריך ליצור מחוץ לפונקציה - אחרת הוא ימחק ברגע שהפונקציה תסתיים. במקום זה, הטיימר צריך להיות איבר של קלאס כלשהו (נניח, של אותו קלאס שמכיל את הכפתור). הלחיצה על הכפתור רק צריכה לעשות לו start.

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...