עבור לתוכן

שאלה על CellEditorListener בJTable

Featured Replies

פורסם

יש לי מחלקה שמוגדרת כך:


public class MyTable extends JTable implements CellEditorListener, MouseListener{
/*code*/
}

@Override
public void editingCanceled(ChangeEvent e) {
System.out.println("A cell edit has been canceled.");

}

@Override
public void editingStopped(ChangeEvent e) {
System.out.println("A cell has been edited.");

}

@Override
public void mouseClicked(MouseEvent e) {

}

@Override
public void mouseEntered(MouseEvent e) {

}

@Override
public void mouseExited(MouseEvent e) {

}

@Override
public void mousePressed(MouseEvent e) {

}

@Override
public void mouseReleased(MouseEvent e) {

}
}

הפונקציה editingStopped פועלת כצפוי בכל פעם שעריכת תא בטבלא מסתיימת.

הבעיה היא בפונקציה editingCanceled - שפשוט לא מגיבה. אני עורך תא, לוחץ על Esc כדי לבטל את השנויים אבל ההודעה שאמורה להופיע בconsole לא מודפסת.

יכול להיות שאני פשוט בשוק ולא הבנתי נכון את הפעולה של המתודה editingCanceled?

פורסם
  • מחבר

סידרתי את הAlignment של הטקסט בהודעה - מקווה שיותר מובן עכשיו. :-\

פורסם
  • מחבר

אף אחד? :'(

נתקלתי בעוד בעיה:

public class Table extends JTable{

public static JTable table;

public Table(String[][] tableData, String[] columnNames){

/*constructor*/

}

@Override

public void setValueAt(Object value, int row, int column)

{

System.out.println("debug msg: setValueAt");

super.setValueAt(value, row, column);

}

{

גם כאן הOverride לא עובד כפי שציפיתי. מה אני מפספס כאן?

אני רוצה לעשות Override כדי לשמור את הערך הישן של התא (סתם למיקרה שמישהו תהה ;D )

פורסם
  • מחבר

אוקיי, עוד שאלה.

הוספתי KeyListener לטבלא ואני נתקל בבעיה הבאה: אם אני מתחיל לערוך תא בעזרת לחיצה על רווח הליסנר קולט את המקשים שנלחצו במתודה KeyPressed.

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

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

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

מישהו? :-[

ארכיון

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

דיונים חדשים