
org.fife.tmm.WordsTableModel Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of tokenmakermaker Show documentation
Show all versions of tokenmakermaker Show documentation
An application to easily create syntax highlighting for custom languages in RSyntaxTextArea.
The newest version!
package org.fife.tmm;
import java.util.List;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;
/**
* Table model for WordsTable
instances.
*
* @author Robert Futrell
* @version 1.0
*/
class WordsTableModel extends DefaultTableModel {
private TableRowSorter sorter;
WordsTableModel() {
sorter = new TableRowSorter<>(this);
}
public void addWords(List words) {
if (words!=null) {
for (String word : words) {
addRow(new String[] { word });
}
}
}
private void clear() {
for (int i=getRowCount()-1; i>=0; i--) {
removeRow(0);
}
}
public TableRowSorter getRowSorter() {
return sorter;
}
/**
* Prevents cells from being edited.
*/
@Override
public boolean isCellEditable(int row, int col) {
return false;
}
@Override
public void removeRow(int row) {
// Since we've been sorted, hack it so correct row is removed.
row = sorter.convertRowIndexToModel(row);
super.removeRow(row);
}
public void setWords(List words) {
clear();
addWords(words);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy