ABA


"צריך עזרה קטנה ב-JAVA לגבי setFont() in JFrame."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #10349 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10349
Tom_l 
חבר מתאריך 1.1.10
1696 הודעות
   08:53   14.04.11   
אל הפורום  
  צריך עזרה קטנה ב-JAVA לגבי setFont() in JFrame.  
 
   שלום,


יש לי JFrame שבו יש JPanel. ה-JPanel משתנה כל פעם(בהתאם לכפתור הנלחץ), עכשיו אין לי כח להתחיל לשנות את ה-setFont() בכל האלמנטים בפרוייקט...

יש משהו שאני יכול לעשות שישנה את ה-setFont() לכל טקסט שנמצא ב-JFrame?

ניסיתי לרשום פעולה כזאת:
public void init (Font f) {
Component [ ] comps = mainS.getContentPane().getComponents();
for(int i=0;i<comps.length;i++) {
comps[i].setFont(f);
}
}

ולזמן אותה בפעולה הבונה:
init(new Font("ariel", 0, 13));


אך זה לא עובד...
מישהו יודע מה אפשר לעשות?


תודה רבה.


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  תנסה לעשות רענון בFOR חומוס 14.04.11 17:26 1
     מכתב Tom_l  14.04.11 17:52 2
  הסתבכת אחי. XpDuDe  15.04.11 19:41 3
     סליחה על הבורות, אך איפה אני מכניס את זה? Tom_l  15.04.11 23:57 4
     הסתדרתי - גדול אחי תודה רבה :) Tom_l  16.04.11 00:04 5
     אגב בקשר לזה יש לי עוד שאלה קטנה בבקשה: Tom_l  16.04.11 09:17 6
         אני לא חושב שזה אפשרי... XpDuDe  16.04.11 13:58 7
             זה לא ממש מפריע לי, אך דבר אחד מפריע לי: Tom_l  16.04.11 14:03 8
                 זה קצת יותר מאתגר... XpDuDe  16.04.11 14:16 9

       
חומוס לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 22.4.02
13069 הודעות, 5 פידבק
   17:26   14.04.11   
אל הפורום  
  1. תנסה לעשות רענון בFOR  
בתגובה להודעה מספר 0
 
תעשה repaint או revalidate

נניח comps[i].repaint()
אחרי כל שינוי פונט

ותראה אם זה עובד


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Tom_l 
חבר מתאריך 1.1.10
1696 הודעות
   17:52   14.04.11   
אל הפורום  
  2. מכתב  
בתגובה להודעה מספר 1
 
   ניסיתי קצת לשחק עם זה...

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

אין לי מושג למה הוא לא מזהה את כל האלמנטים הנמצאים בו...


יש למישהו מושג אולי?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
XpDuDe 
חבר מתאריך 16.5.10
1046 הודעות
   19:41   15.04.11   
אל הפורום  
  3. הסתבכת אחי.  
בתגובה להודעה מספר 0
 
   יש אפשרות פשוט לקבוע דיפולטים לכל סוג של אלמנט, הנה רשימה דיי גדולה:

UIManager.put("Button.font", /* font of your liking */);
UIManager.put("ToggleButton.font", /* font of your liking */);
UIManager.put("RadioButton.font", /* font of your liking */);
UIManager.put("CheckBox.font", /* font of your liking */);
UIManager.put("ColorChooser.font", /* font of your liking */);
UIManager.put("ComboBox.font", /* font of your liking */);
UIManager.put("Label.font", /* font of your liking */);
UIManager.put("List.font", /* font of your liking */);
UIManager.put("MenuBar.font", /* font of your liking */);
UIManager.put("MenuItem.font", /* font of your liking */);
UIManager.put("RadioButtonMenuItem.font", /* font of your liking */);
UIManager.put("CheckBoxMenuItem.font", /* font of your liking */);
UIManager.put("Menu.font", /* font of your liking */);
UIManager.put("PopupMenu.font", /* font of your liking */);
UIManager.put("OptionPane.font", /* font of your liking */);
UIManager.put("Panel.font", /* font of your liking */);
UIManager.put("ProgressBar.font", /* font of your liking */);
UIManager.put("ScrollPane.font", /* font of your liking */);
UIManager.put("Viewport.font", /* font of your liking */);
UIManager.put("TabbedPane.font", /* font of your liking */);
UIManager.put("Table.font", /* font of your liking */);
UIManager.put("TableHeader.font", /* font of your liking */);
UIManager.put("TextField.font", /* font of your liking */);
UIManager.put("PasswordField.font", /* font of your liking */);
UIManager.put("TextArea.font", /* font of your liking */);
UIManager.put("TextPane.font", /* font of your liking */);
UIManager.put("EditorPane.font", /* font of your liking */);
UIManager.put("TitledBorder.font", /* font of your liking */);
UIManager.put("ToolBar.font", /* font of your liking */);
UIManager.put("ToolTip.font", /* font of your liking */);
UIManager.put("Tree.font", /* font of your liking */);


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Tom_l 
חבר מתאריך 1.1.10
1696 הודעות
   23:57   15.04.11   
אל הפורום  
  4. סליחה על הבורות, אך איפה אני מכניס את זה?  
בתגובה להודעה מספר 3
 
   זאת אומרת, בפעולה הבונה?
לא כל-כך הבנתי איך אני משתמש עם זה.


תודה רבה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Tom_l 
חבר מתאריך 1.1.10
1696 הודעות
   00:04   16.04.11   
אל הפורום  
  5. הסתדרתי - גדול אחי תודה רבה :)  
בתגובה להודעה מספר 3
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Tom_l 
חבר מתאריך 1.1.10
1696 הודעות
   09:17   16.04.11   
אל הפורום  
  6. אגב בקשר לזה יש לי עוד שאלה קטנה בבקשה:  
בתגובה להודעה מספר 3
 
   אני רוצה שהטקסט שאני מכניס ב-TextField יהיה מימין לשמאל ולא משמאל לימין... איך אני מגדיר את זה באמצעות השימוש ב-UIManager?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
XpDuDe 
חבר מתאריך 16.5.10
1046 הודעות
   13:58   16.04.11   
אל הפורום  
  7. אני לא חושב שזה אפשרי...  
בתגובה להודעה מספר 6
 
   לפחות אני לא מכיר..

בכל מקרה אם אתה באמת מתעקש ויש לך מלא textfields,
אתה יכול לממש בעצמך מחלקה שיורשת מ-JTextField,
ותקבע בבנאי שלו את ה-orientation ועוד כל מיני דברים.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Tom_l 
חבר מתאריך 1.1.10
1696 הודעות
   14:03   16.04.11   
אל הפורום  
  8. זה לא ממש מפריע לי, אך דבר אחד מפריע לי:  
בתגובה להודעה מספר 7
 
   יש לי טבלה עם אפשרות לשנות את הנתונים בתוכה.. כלומר JTable שבעזרת דאבל קליק על שדה מסויים, אז הוא הופך ל-TextField וניתן לערוך את השדה הזה...
הגדרתי שהשדות בטבלה יהיו מימין לשמאל, אבל כל פעם שאתה רוצה לערוך שדה, אז זה הופך מ-Label ל-TextField ואז הטקסט בשדה הזה הופך מימין לשמאל לשמאל לימין רק בשדה הזה ספציפית בזמן העריכה... וזה דיי מפריע לי..

איך אני יכול לשנות את ה-TextFields האלה? ישנה אפשרות לעשות זאת?
אני פשוט רוצה שהטקסט ב-TextFields האלה יהיו מימין לשמאל...


תודה רבה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
XpDuDe 
חבר מתאריך 16.5.10
1046 הודעות
   14:16   16.04.11   
אל הפורום  
  9. זה קצת יותר מאתגר...  
בתגובה להודעה מספר 8
 
   אתה תצטרך לממש TableEditor בעצמך, שידאג כל פעם לשנות את ה-orientation ל-RTL...
הנה לינקים שיעזרו לך:
http://www.exampledepot.com/egs/javax.swing.table/CustEdit.html
http://download.oracle.com/javase/tutorial/uiswing/components/table.html#editrender


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net