לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי         אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #4  
ישן 19-05-2016, 13:25
צלמית המשתמש של קוביבי
  משתמש זכר קוביבי קוביבי אינו מחובר  
מנהל פורום מערכות הפעלה - הרובע המייקרוסופטי.
 
חבר מתאריך: 07.10.04
הודעות: 13,778
LinkedIn profile
בתגובה להודעה מספר 3 שנכתבה על ידי Musicman0 שמתחילה ב "סליחה, אולי לא הייתי ברור (יש..."

אם זה כל מה שאתה רוצה לעשות... למה שלא תדאג שכל הכפתורים יפעילו את אותה הפונקצייה, הפונקצייה תגריל מספר בין 1 ל-3, אם יצא 1 - אז הכפתור הזוכה "נבחר", אחרת הכפתור שנבחר הוא לא הזוכה.

תחשוב על זה, בכול מקרה יש לך שליש סיכוי לזכות - פשוט תבדוק אם המשתמש היה בר-מזל או לא, ולא משנה מה הכפתור הנבחר.

לגבי ערך... אמנם לא מפתח ג'אווה אבל אתה צריך להיות יכול להשתמש בID שאמור להיות קיים, או פתרון עדיף (אם קיים דבר כזה), ב.net קיים פרמטר tag שאתה יכול להשתמש בו בדיוק בשביל דברים כאלו, אבל כאמור - בגלל שלא באמת משנה לך איזה כפתור נבחר - זה קצת מיותר
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #10  
ישן 21-05-2016, 21:11
צלמית המשתמש של Musicman0
  משתמש זכר Musicman0 Musicman0 אינו מחובר  
 
חבר מתאריך: 25.12.05
הודעות: 4,996
בתגובה להודעה מספר 8 שנכתבה על ידי DeepSpace שמתחילה ב "בסדר.. דרך אחרת, יותר ריאלית..."

מה שעשיתי זה דבר כזה:

קוד PHP:
 if(e.getSource() == arrayButtons[randomNum])
{
code
}

else
{
code



לזה התכוונת?

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



קוד PHP:
 public void actionPerformed(ActionEvent e)
        {
            
Random rand = new Random();     //random number between 0 to 2
            
int number rand.nextInt(3);
                if(
e.getSource() == arrayButtons[number]) //if user click on the random button
                
{

                        
panel.setVisible(false);
                        
frame.getContentPane().removeAll();
                        @
SuppressWarnings("unused")
                        
Panel2 panel2 = new Panel2(frame);
            
                }
                else
                {
                    
int option;
                    
option JOptionPane.showConfirmDialog (null"You lost!\nWould you try again?","Message",JOptionPane.YES_NO_OPTION);
                    if(
option == 0)        //if user wants to try again
                    
{
                        
//reload the panel
                        
panel.repaint();
                        
panel.revalidate();
                    }
                    else
                    {
                        
//exit applet
                        
                        
frame.getContentPane().setVisible(false);
                        
frame.getContentPane().removeAll();
                        
frame.dispose();
                    }    
                } 



הוא מקפיץ לי את ה JOptionPane פעמיים או אפילו שלוש ברצף. (לא תמיד).
אולי משהו בטעינה מחדש של הפאנל?
*אני בוחר לנסות שוב בJOptionPane ומיד קופץ לי עוד חלונית כזו כאילו הקשתי על כפתור וטעיתי בניחוש

אשמח לעזרה
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה

תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה


נערך לאחרונה ע"י Musicman0 בתאריך 21-05-2016 בשעה 21:19.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #12  
ישן 22-05-2016, 12:02
צלמית המשתמש של Musicman0
  משתמש זכר Musicman0 Musicman0 אינו מחובר  
 
חבר מתאריך: 25.12.05
הודעות: 4,996
בתגובה להודעה מספר 11 שנכתבה על ידי קוביבי שמתחילה ב "קודם כל - נורא כואב לי בעין ה..."

לגבי ה getSource - עשיתי זאת כדי שהתכנית תזהה איזה כפתור נלחץ..

panel2 הוא פאנל של "You won the game" - מופיע בקלאס אחר.

ושיניתי את הסדר של ה revalidate ו repaint ולצערי עדיין לא עזר.
אחרי כמה ניסיונות התכנית משתגעת - וגם מקפיצה לי JOptainPane וגם מעבירה אותי ל panel2
או פותחת לי כמה פעמים JOptionPane..
כאילו התכנית לא סופרת את הif וה else שלי
(כשלא השתמשתי במערך כפתורים לא היו את הבעיות האלו)


עריכה:
הוספתי עוד int randNum2 ועשיתי תנאי שבנוי מהשוואה אחרת (ב Listener),
גם פה יש את אותה בעיה.

כנראה משהו עם הטעינה של הפאנל מחדש, אבל זה מוזר - כי כשזה לא מערך כפתורים זה עובד סבבה.


עריכה2:
אה, לא יודע למה חשבתי ככה :|
גם כשזה לא היה במערך אז יש בעיות בטעינה.
אבל , לא היו בעיות בטעינה כשמימשתי את הפתרון הראשון - זה שאתה הצעת למעלה.
כל הכפתורים מפעילים את אותה פונקציה --> ואם המספר שהוגרל שווה ל-1 (למשל) - הצלחנו, אחרת לא.

אבל לא יודע למה זה משנה
למה פה זה כן עושה בעיות ופה לא.
שובר על זה את הראש מאתמול, וזה בכלל לא אמור להיות כזה מסובך..
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה

תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה


נערך לאחרונה ע"י Musicman0 בתאריך 22-05-2016 בשעה 12:22.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 21:33

הדף נוצר ב 0.38 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2019 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר