שאלה קטנה

  • פותח הנושא kmst
  • פורסם בתאריך

kmst

New member
שאלה קטנה

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

אני מבין שאתה רוצה לתת למשתמש אפשרות לשכתב לך את התווים שלך. באם זה המקרה אזי כי אתה צריך לכתוב Applet אשר יכול לקבל String מהמשתמש ואז בעזרת מחלקת Font תוכל לבצע תעלולים נחמדים למשתמש. תרצה דוגמא אתן לך משו תמורת סכום סימלי...
)) סתם סתם שלא תילחץ....תרצה דןגמא עם String שרץ על Applet אמור! בהצלחה
 

kmst

New member
הסבר

סליחה שלא הסברתי בהתחלה....אבל אני לא עובדת עם APPLET אני צריכה לבנות תוכנית שתהיה בעצם יישום!! אני מעונינת לעשות על FRAME מעין סרגל כלים שכאשר לדוגמא אעמוד על מספר אותיות מתוך טקסט אוכל להדגיש אותם... השאלה שלי היא איזה פונקציה תוכל לבדוק איזה אותיות סומנו????????
 
אוק´ יש מבין...

את עובדת על יישום קרי FRAME. על מנת שתוכלי לתת למשתמש לרשום תווים אזי כי תשתמשי במחלקת String. בגדול אחת הפונקציות היותר מוכרות הנה toString() לאחר מכן על מנת לבצע משחק עם תווים ואו הגדרת פונטים למינהם אזי כי תשתמשי במחלקת FONT. שאלה: אני מבין שאת רוצה לבנות על היישום תפריט זה נכון?
 

kmst

New member
HELP!!

כן בדיוק! אני רוצה לעשות תפריט שיתן אפשרות לעשות BOLD,להגדיר צבע גופן,סוג גופן וכו´.... לכן אני חייבת לדעת מה הפונקציה שמבינה על איזה מילים אני עומדת מתוך כל הטקסט... אני חייבת לדעת דחוף!!
 
אז ככה...

על מנת לזור לך ישנם שתי אופציות: האחת - אוכל לשלוח לך קוד של שימוש במחלקת FONT ושם ציינתי כל מיני שימושים בפונטים של המערכת. השנייה - אוכל לשלוח לך Applet עם תפריטים (זה ממש דומה ל Frame) עשי את ההמרה ל Frame. על מנת לספור אורך תווים את צריכה להשתמש בפונקצית Length. תרצי דוגמאות אמרי... בהצלחה
 

yontanbn

New member
זה לא מה שהיא ביקשה :)

שלום לכם. אני לא מבין בתכנות לווינדוז, ולכן לא אוכל לעזור לשואלת השאלה. אבל אנסה להסביר לאביר בלי סוס את כוונתה. אין קשר, לדעתי, בין האם זה applet או application, הדיון הוא על משהו ספציפי. כמו כן, אני לא חושב שמחלקת font תעזור, כי המטרה היא לא להשתמש בפונטים של המערכת. אולי מחלקת font תעזור להדגשה (מלשון bold) עצמה, אבל לא לזיהוי הטקסט המסומן (הכוונה במסומן, אני מניח היא ע"י גרירת העכבר) מחלקת string בוודאי לא תעזור כי היא יודעת לעשות הרבה דברים עם מחרוזות, כלומר, אחרי שיש לך מחרוזת ביד, היא תדע לעשות את מה שרצינו, בין השאר לתת לנו את האורך של המחרוזת, אבל שוב, זה לא מה שאנחנו מחפשים עכשיו. מה שאנחנו מחפשים זה דרך לדעת איזה טקסט סומן. אין לי מושג אם בשביל זה צריך לקרוא לבפנוכו של הווינדוז, או שזה מתודה פשוטה מתוך המחלקה של תיבת הטקסט שבה את כותבת. אבל לדעתי התשובה לא צריכה להיות מסובכת... אני מקווה שעזרתי להבהיר את השאלה, לכל האנשים שכן מבינים בדברים האלה, ויוכלו לעזור לשואלת השאלה...
 
אוק´ - הבינותי גם אותך וגם אותה ../images/Emo13.gif

באם את מחפשת לדעת על פי המידע שקיבלת מהמשתמש אזי כי את צריכה להשתמש ה String Buffer קרי לדעת כיצד מתבצע Input Buffer כמו גם Output Buffer מעבר לזה יש הבדל בין Applet לבין Frame הכל עניין של איזה ישום רוצים לבצע. בהצלחה ותודה לך!
 

kmst

New member
לאביר בלי סוס---תודה אבל...

לאביר בלי סוס... קודם כל תודה רבה על העזרה.... אבל יש לי שאלה, מה אני אמורה לשמור בתוך הBUFFER? את המיקום של האות שממנה התחלנו לגרור ועד לאיפה שנעצרנו??? באיזה פונקציה עלינו להשתמש?? קיימת פקודה כזו בJAVA????????
 

voguemaster

New member
אנשים, פיתרון פשוט!!! בחייכם ../images/Emo13.gif

לכל המעוניין לדעת, ניקח לדוגמא את המחלקה TextArea (נניח של AWT). למחלקה זו יש מתודה שנקראת (די במפתיע!!) getSelectedText, מתודה שהיא יורשת ממחלקת האב שלה TextComponent (שבה יש מתודות ושדות מידע שרלוונטיים לכל מחלקה של פקדים שכוללים טקסט). אוקיי, עד כאן הפונקציה עוזרת לנו לדעת מהי ה-SELECTION שסימנו בעזרת העכבר. כמובן שדברים לא פועלים בצורה טריוויאלית כזו. לכן גם צריך להשתמש בעוד פונקצית קסם (כן הא?
) שנקראת getSelectionStart, שתפקידה בכח להחזיר את האינדקס של תחילת החלק המסומן. בקיצור, אפשר לבצע את כל הפעולות של סימון טקסט/העתקה/הדבקה וכד´ ע"י המתודות האלו. כמובן שעדיף לעבוד עם Swing. ממה שאני מבין היכולות נחוצות כדי לשנות גופנים/צבעים וכד´, כביכול כדי ליצור עורך טקסט פשוט. אני לא לגמרי בטוח אם JTextArea (או כל מחלקת טקסט אחרת) תומכת ב-Attributes שונים לכל אות או מילה או משפט (דוגמא: צבעים שונים בתוך אותו הפקד), אבל תמיד אפשר לייצר מחלקה שיורשת ממנה ולדרוס את שיטת ה-update (או איך שקוראים לה) של הפקד, ולהוסיף שדות מידע שיכולים להחזיק Attributes של למעשה כל תו ומילה בטקסט. אלי
 

voguemaster

New member
אוקיי עוד דבר

אפשר להשתמש ב-JTextPane שמספק הרבה יותר פונקציונליות, במידה ואין הגבלות מוזרות (כמו מרצים שלא רוצים שתשתמש בדברים מוכנים..
). אפשר לגזור ממחלקת JEditorPanel וליצור סוג מסוים מאוד של חלון עריכה. או שאפשר לעבוד בשיטה הקודמת שהצעתי. אלי
 

kmst

New member
voguemaster

קודם כל תודה רבה רבה! ...הייתי כמעט על סף יאוש... אין לי בעקרון מגבלה עם מה להשתמש...ולכן אני יכולה להשתמש גם בפונקציות מוכנות! באפשרות האחרונה שהצעת...מה הכוונה ליצור סוג מסוים של חלון עריכה??. ...נראה לי שאבחר באפשרות זו! אלפי תודות!
 

voguemaster

New member
אוקיי

יש לך את הדוקומנטציה של ה-JDK ? לרוב או שמורידים אותם בנפרד מהאתר של SUN או שהם מגיעים יחד עם סביבת פיתוח (כמו JBuilder החביבה עליי..) בכל מקרה תסתכלי מה המחלקה הזו מציעה. שם כתוב שאפשר ליצור תת מחלקה בעלת התנהגות מסוימת. אני לא בדיוק זוכר כי אני לא בבית כרגע וממש מזמן נגעתי בזה.. אלי
 

kmst

New member
voguemaster

ניסיתי את הפונקציות שכתבת..והם עובדות! אבל כעת אני רוצה לדוגמא לעשות את הכתב מודגש אז בעקרון צריך להשתמש בפקודה setfont איך אני יכולה להשתמש בפקודה זו ולגרום שרק מה שעמדתי עליו ישתנה??? או שצריך להשתמש בפקודה אחרת??? במה??
 

kmst

New member
תודה!

תודה רבה אכן עזרת להבהיר את השאלה תודה!!!
 
היי שוב...

זה אני לשעבר "אביר בלי סוס" לא ענית לי - האם את רוצה דוגמא בשדה טקסט תוך שימוש ב String input Buffer?
 
למעלה