powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / javax.swing.table.JTableHeader
13 сообщений из 13, страница 1 из 1
javax.swing.table.JTableHeader
    #33185183
Gluk'Oza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
javax.swing.table.JTableHeader[,0,0,0x0,invalid,alignmentX=null,alignmentY=null,border=,flags=8,maximumSize=,minimumSize=,preferredSize=,draggedDistance=0,reorderingAllowed=true,resizingAllowed=true,updateTableInRealTime=true]

Кто может расшифровать javax.swing.table.JTableHeader?

Конкретно, что значит параметр, стоящий 4-м - invalid?
...
Рейтинг: 0 / 0
javax.swing.table.JTableHeader
    #33185190
Tomaso
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eto opisanie objekta ego metodov (parametrpv)Kak ja ponal ti sozdal(a) object i vivel(a) ego na ekran
...
Рейтинг: 0 / 0
javax.swing.table.JTableHeader
    #33185239
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Инвалид в твоем случае - значит требует перерисовки.

java.awt.Component

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
    ...
    /**
     * Returns a string representation of this component and its values.
     * @return    a string representation of this component
     * @since     JDK1.0
     */
     public  String toString() 
    {
	 return  getClass().getName() + "[" + paramString() + "]";
    }

    ...

     protected  String paramString() 
    {
        String thisName = getName();
	String str = (thisName !=  null ? thisName : "") + "," + x + "," + y + "," + width + "x" + height;
	 if  (!valid) {
	    str += ",invalid";
	}
	 if  (!visible) {
	    str += ",hidden";
	}
	 if  (!enabled) {
	    str += ",disabled";
	}
	 return  str;
    }
    ...
    /**
     * True when the object is valid. An invalid object needs to
     * be layed out. This flag is set to false when the object
     * size is changed.
     *
     * @serial
     * @see #isValid
     * @see #validate
     * @see #invalidate
     */
     boolean  valid = false;
    ...
...
Рейтинг: 0 / 0
javax.swing.table.JTableHeader
    #33185288
Gluk'Oza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TomasoEto opisanie objekta ego metodov (parametrpv)Kak ja ponal ti sozdal(a) object i vivel(a) ego na ekran


Я вывожу в JFrame таблицу. Все было хорошо. Выводились заголовки таблицы, такие, как я прописала в модели таблицы. С какого то момента вместо них начались выводиться буквы (A B C D и т.д.).

Я немогу найти, что портит модель.
...
Рейтинг: 0 / 0
javax.swing.table.JTableHeader
    #33185298
Gluk'Oza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
private JScrollPane makeTableScrollPanel(String host,String dbName,
int vendor,String username,String password,String query)
{
String driver = DriverUtilities.getDriver(vendor);
String url = DriverUtilities.makeURL(host, dbName, vendor);
results = DatabaseUtilities.getQueryResults(driver, url, username, password,query, false);

/** Визначимо кількість рядків у виборці. */
int k;
k = model.getRowCount();

// Слухач моделі, реєструє всі зміни, які відбуваються
model.addTableModelListener(new TableModelListener()
{
public void tableChanged(TableModelEvent e)
{
int rwa = e.getFirstRow();
int column = e.getColumn();
model.isCellEditable(rwa,column);
String value = (String)model.getValueAt(rwa, column);
model.setValueAt(value,rwa,column);
model.fireTableCellUpdated(rwa,column);
}
});

sorter = new SortFilterModel(model);
table = new JTable(sorter);

TableColumnModel columnModel = table.getColumnModel();
TableColumn column = columnModel.getColumn(0);
table.removeColumn(column);

/** Створюємо клас слухач на подію: подвійного клацання миші по заголовку таблиці */
table.getTableHeader().addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent event)
{
//Перевірка подвійного клацання миші
if (event.getClickCount()<2) return;

//Знайти стовпчик, де виникло подвійне клацання мишкою
int tableColumn = table.columnAtPoint(event.getPoint());

//Траслювати в індекс моделі таблиці і сортувати
int modelColumn = table.convertColumnIndexToModel(tableColumn);
sorter.sort(modelColumn);
}
});
// Редактор ячейок
// table.setDefaultEditor(Integer.class, new IntegerEditor(0, 100));

/* Установка режиму вибора рядків */
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
if (ALLOW_ROW_SELECTION)
{ // true по умолчанию
ListSelectionModel rowSM = table.getSelectionModel();
rowSM.addListSelectionListener(new ListSelectionListener()
{
public void valueChanged(ListSelectionEvent e)
{
// Ігноруються додаткові повідомлення.
if (e.getValueIsAdjusting()) return;

ListSelectionModel lsm = (ListSelectionModel)e.getSource();
if (lsm.isSelectionEmpty())
{
System.out.println("Ніякі рядки не вибрані.");
}
else
{
rowzm =table.getSelectedRow();
Z = model.getZ(); // Признак, який показує, чи були зміни у ячейці
if (selectedRow!=rowzm)
{
if (Z==1)
{
System.out.println("Рядок selectedRow - " + selectedRow );
System.out.println("Рядок rowzm - " + rowzm );
updat(selectedRow);
Z=0;
model.setZ(Z);
// System.out.println("Z після змін = "+Z);
}
}
selectedRow = lsm.getMinSelectionIndex();
System.out.println("Рядок " + selectedRow + " вибраний.");
}
}
});
}
else
{
table.setRowSelectionAllowed(false);
}



table.setFont(new Font("Vernada", Font.PLAIN, 14));
table.setRowHeight(25);
// int row=table.getSelectedRow();

JTableHeader header = table.getTableHeader();
System.out.println(header);

header.setFont(new Font("Varnada", Font.BOLD, 13));
scrollPane = new JScrollPane(table,
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);

scrollPane.setPreferredSize(new Dimension(900,450));
scrollPane.setBorder(BorderFactory.createTitledBorder(" Результат пошуку: "+ k +" рядків"));

return(scrollPane);
}
...
Рейтинг: 0 / 0
javax.swing.table.JTableHeader
    #33187005
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Украинские комменты жжут...

В приведенном коде ничто не должно портить имена заголовков. Где-то еще собака порылась...

В какой именно момент времени данные начинают меняться?

Можно код целиком?
...
Рейтинг: 0 / 0
javax.swing.table.JTableHeader
    #33187030
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще метод TableModel.addColumn(Object columnName, Object[] columnData) может дать такой эффект, если значением columnName в него передать null.
...
Рейтинг: 0 / 0
javax.swing.table.JTableHeader
    #33191410
Gluk'Oza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кувалдин РоманУкраинские комменты жжут...

В приведенном коде ничто не должно портить имена заголовков. Где-то еще собака порылась...

В какой именно момент времени данные начинают меняться?

Можно код целиком?


Вот код целиком.
Спасибо за помощь.

headerValue="B","C","D",... и так далее
...
Рейтинг: 0 / 0
javax.swing.table.JTableHeader
    #33191494
Фотография XM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по-моему, глюк должен быть пропатчен здесь:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 public   class  DBResultsTableModel  extends  AbstractTableModel
{
// ... поскипано ....
// маленькое испрвление 
     public  String[] getColumnNames() // было getColumnName
    {
          return (results.getColumnNames());
    }
// --------------------
// добавлено
     public  String getColumnName( int  c){
         return  results.getColumnNames()[c];
    }
// -------------------
...
Рейтинг: 0 / 0
javax.swing.table.JTableHeader
    #33191516
Фотография XM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще один замеченный глюк в QueryViewer.actionPerformed:
Код: plaintext
 if  (sumaField.length()== 0  & (periodField.length()!= 0  & telefonField.length()!= 0 )){  // ....  }
& - побитовое И - заменить на && - логическое И.
...
Рейтинг: 0 / 0
javax.swing.table.JTableHeader
    #33191566
Gluk'Oza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
XMпо-моему, глюк должен быть пропатчен здесь:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 public   class  DBResultsTableModel  extends  AbstractTableModel
{
// ... поскипано ....
// маленькое испрвление 
     public  String[] getColumnNames() // было getColumnName
    {
          return (results.getColumnNames());
    }
// --------------------
// добавлено
     public  String getColumnName( int  c){
         return  results.getColumnNames()[c];
    }
// -------------------


Спасибо, попробую...
...
Рейтинг: 0 / 0
javax.swing.table.JTableHeader
    #33191573
Gluk'Oza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
XMИ еще один замеченный глюк в QueryViewer.actionPerformed:
Код: plaintext
 if  (sumaField.length()== 0  & (periodField.length()!= 0  & telefonField.length()!= 0 )){  // ....  }
& - побитовое И - заменить на && - логическое И.


И здесь тоже спасибо за замечание
...
Рейтинг: 0 / 0
javax.swing.table.JTableHeader
    #33191593
Gluk'Oza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
XMпо-моему, глюк должен быть пропатчен здесь:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 public   class  DBResultsTableModel  extends  AbstractTableModel
{
// ... поскипано ....
// маленькое испрвление 
     public  String[] getColumnNames() // было getColumnName
    {
          return (results.getColumnNames());
    }
// --------------------
// добавлено
     public  String getColumnName( int  c){
         return  results.getColumnNames()[c];
    }
// -------------------



СПАСИБО, огромное. Помогло.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / javax.swing.table.JTableHeader
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]