编 れ な セ セ に に ソ ソ ソ テ テ テ プ プ (Cursor jumping) JTABLE skipped

xiaoxiao2021-03-06  108

Recently, Cursor moved the problem in the unit grid of JTABLE, quite distressed, finally solved. But a little regret, when using the TabeditTable to JScrollPane, pressing the Tab button to move the Cursor to the Unconventional area of ​​the JTABLE, JScrollPane cannot automatically scroll. 2004/12/09 Unfortunate message: If this Table class is placed on the scroll panel, press the TAB button When the cursor moves to an invisible area, the scroll bar cannot be automatically scrolled. It should be the problem of Focusmanager. Solve ........................................... パ パ ケ ケ ジ ジ 指 指 * / Package common.table; / * パ ケ ケ ジ ジ i iPort * / Import javax.swing. *; import javax.swing.focusmanager; import javax.swing.table. *; import javax.swing.event. *; import java.awt. * Import java.awt.event. *; Import java.util. *; / ** * Election れ い セ セ に に ソ ソ ソ し い テ テ プ プ * @version $ Revision: 1.4 $ $ date: 2004/10/23 03:23: 10 $ * / public class TabEditTable extends JTable {protected boolean inTabbingEditor; // protected focusManager focusManager; protected int [] editingColumns; // Model columns protected int [] viewEditingColumns; // View columns protected TabKeyListener tabKeyListener = new TabKeyListener (); / ** デフォ デフォ ト コ ス ト ラ ラ ク * / public tabedittable () {super ();} / ** * デ デ タ モデ モデ DM, デフォ デフォ ト 列 モデ モデ, デフォ デフォ ト 択 択 択 初 初 化 れ れ モデ モデ 初.... れ れ モデ モデ モデ. モデ.. モデ モデ モデ モデ モデ. モデ モデ モデ... モデ モデ. モデ モデ モデ.... モデ 択. 択. * @Param DM テ テ ブ デ タ モデ モデ * / public tabedittable (TableModel DM) {Super (DM);} / ** * デフォ デフォ ト 択 択 択 モデ 初 初 化 れ れ j モデ モデ......... 択. 択 択 択 択 択 択 択.... 択. * @Param DM テ テ ブ デ デ タ モデ モデ * @Param cm テ テ ブ ブ 列 モデ モデ * / public tabedittable (TableModel DM) {Super (DM, cm);} / ** * Early Turn れ れ れ れ れ j れ j. * パ パ メ メ タ どれ か が null 対応 メソ メソ ド ド 対応 す す デフォ ト モデ モデ で テ テ ブ ブ 化 化..... 化 化 化 化 化 化 化 化 化 化 化 化 化 化 化* @Param dm Te ー bu ru の video game ー ta holds video game, Hikaru * @param cm Te ー bu ru の column holds video game, Hikaru * @param sm Te ー bu ru の row select Ze holds video game, Hikaru * / public TabEditTable (TableModel dm, TableColumnModel cm, ListSelectionModel sm) {super (dm, cm, sm);} / ** * DefaultTablemodel っ て, 空 セ n Numrows と Numcolumns JTABLE Structure. * Columns, "a", "b", "c" in the form of a preamble.

* @Param numRows Te ー bu ru ga maintained for several suru rows * @param numColumns Te ー bu ru ga maintained for several suru columns * / public TabEditTable (int numRows, int numColumns) {super (numRows, numColumns);} / ** * Vectors の Vector の Zhi wo Express JTABLE, つ り rowdata, column columnnames で で 构. * Rowdata に Garna れ れ れ 行 行 行 値 を 保..... せ せ り せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ せ* つ り り, 行 1, list 5 に に 値 値 は コ コ コ ド ド で き き き...... き き き き き き き き き き き き き き き き き き き き き き き* Before @param rowData new shi い Te ー bu ru の video game ー ta * @param columnNames columns の name * / public TabEditTable (final Vector rowData, final Vector columnNames) {super (rowData, columnNames);} / ** * 2 times the first wife columns rowData の Zhi wo representsす JTABLE, column columnnames. * Rowdata の で で,,,,,,, 1 1 1 に に に に............. き き き き き き き き き き き き.. き き き. き き き き き き き き き き* Rowdata [1] [5]; べ の, columnnames じ じ じ ん ん けれ せ せ せ せ けれ.. ば ば ば けれ ば ば じ じ じ じ じ じ じ じ ば ば ば じ ば じ ば ば じ ば じ ば ば ば じ じ ば じ じ ば じ じ ば じ* Before @param rowData new shi い Te ー bu ru の video game ー ta * @param columnNames columns の name * / public TabEditTable (final Object [] [] rowData, final Object [] columnNames) {super (rowData, columnNames);} / ** * editingColumns Bian Number设. * @Param column * / public void setEDItingColumns (int [] columns = columns; converteditableColumnstoview ();} / ** * EditingColumns 変変 ま. * @Return * / public int [] getEDITIColumns () {Return EditingColumns;} / ** * Overrides of jtable methods * Row および Column に position す セ が が が が 场 场,......................................................................................

* @Param Row Equipment @ @Param Column Equation る る * @Param Evt ベ ベ ト * / Public Boolean Editcellat (int Row, Int Column, EventObject EVT) {IF (Super.editcellat (Row, Column, EVT) == False ) {RETURN FALSE;} f (vieweditingColumns! = Null) {// NOTE: Column is specified in terms // of the color INT length = vieweditingColumns.Length; for (int i = 0; i

* @Param evt uke taken っ ta イ Bakelite nn Suites * / public void editingStopped (ChangeEvent evt) {if (inTabbingEditor == true) {Component comp = getEditorComponent (); comp.removeKeyListener (tabKeyListener); this.removeKeyListener (tabKeyListener); // FocusManager. setCurrentManager (focusManager); inTabbingEditor = false;} super.editingStopped (evt);} / ** * fu ォ ー grades su wo movement processing wo imperial system * / protected void convertEditableColumnsToView () {// Convert the editable columns to view column numbers if (editingColumns = = null) {viewEditingColumns = null; return;}.. // Create a set of editable columns in terms of view // column numbers in ascending order Note that not all // editable columns in the data model need be visible int length = editingColumns.length; viewEditingColumns = new int [length]; int nextSlot = 0; for (int i = 0; i

//Move left-to-right or right-to-left // across the table for (INT i = 0; i

KeyEvent.VK_TAB) {if (inTabbingEditor == true) {TableCellEditor editor = getCellEditor (); int editRow = getEditingRow (); int editColumn = getEditingColumn ();! If (editor = null) {boolean stopped = editor.stopCellEditing () ; If (stopped == true) {boolean forward = (evt.isshiftdown () == false); MovetoneXTeditor (editrow, editcolumn, forward);}}}} else}}}} else}}}} else}}}} else}}}} else}}}} else}}}} else}}}} else}}}} else}}}} else}}} ) {If (INTABBINGEDITOR == True) {TableCelleditor Editor = getcelleditor (); int Editrow = getEDIting (); int EditColumn = getEDITINGCOLUMN ();

IF (editor! = null) {

Boolean stopped = editor.stopcelledge ();

IF (stopped == true) {

boolean forward = (evt.isShiftDown () == false); moveToNextEditor (editRow, editColumn, forward);}}}} else if (evt.getKeyCode () == KeyEvent.VK_LEFT) {if (inTabbingEditor == true) {

TableCelleditor Editor = getcelleditor (); int Editrow = getEDITINGROW (); int editcolumn = getEDITINGCOLUMN ();

IF (editor! = null) {

Boolean stopped = editor.stopcelledge ();

IF (stopped == true) {

Boolean Forward = (Evt.isshiftDown () == true); MovetoneXteditor (Editrow, EditColumn, Forward);}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}

转载请注明原文地址:https://www.9cbs.com/read-100471.html

New Post(0)