下面列出了javax.swing.table.TableModel#removeTableModelListener ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Overriden to register a listener on the model. This listener
* ensures editing is cancelled when editing row is being changed.
*
* @see javax.swing.JTable#setModel(javax.swing.table.TableModel)
* @throws IllegalArgumentException if dataModel is not a
* {@link PropertySheetTableModel}
*/
public void setModel(TableModel newModel) {
if (!(newModel instanceof PropertySheetTableModel)) {
throw new IllegalArgumentException("dataModel must be of type "
+ PropertySheetTableModel.class.getName());
}
if (cancelEditing == null) {
cancelEditing = new CancelEditing();
}
TableModel oldModel = getModel();
if (oldModel != null) {
oldModel.removeTableModelListener(cancelEditing);
}
super.setModel(newModel);
newModel.addTableModelListener(cancelEditing);
// ensure the "value" column can not be resized
getColumnModel().getColumn(1).setResizable(false);
}
/**
* Overriden to register a listener on the model. This listener ensures
* editing is cancelled when editing row is being changed.
*
* @see javax.swing.JTable#setModel(javax.swing.table.TableModel)
* @throws IllegalArgumentException
* if dataModel is not a {@link PropertySheetTableModel}
*/
public void setModel(TableModel newModel) {
if (!(newModel instanceof PropertySheetTableModel)) {
throw new IllegalArgumentException("dataModel must be of type "
+ PropertySheetTableModel.class.getName());
}
if (cancelEditing == null) {
cancelEditing = new CancelEditing();
}
TableModel oldModel = getModel();
if (oldModel != null) {
oldModel.removeTableModelListener(cancelEditing);
}
super.setModel(newModel);
newModel.addTableModelListener(cancelEditing);
// ensure the "value" column can not be resized
getColumnModel().getColumn(1).setResizable(false);
}
void dispose() {
TableModel model = refTable.getModel();
model.removeTableModelListener(listener);
threadedTablePanel.dispose();
refTable.dispose();
referenceProvider = null;
}
private void separateStaticImportsCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_separateStaticImportsCheckBoxActionPerformed
TableModel oldModel = importLayoutTable.getModel();
TableModel newModel = (DefaultTableModel)createTableModel(importGroupsOrder, preferences);
importLayoutTable.setModel(newModel);
setImportLayoutTableColumnsWidth();
for (TableModelListener l : ((DefaultTableModel)oldModel).getTableModelListeners()) {
oldModel.removeTableModelListener(l);
newModel.addTableModelListener(l);
l.tableChanged(null);
}
}
void setModel(Model model, boolean debuggingSession) {
this.model = model;
this.debuggingSession = debuggingSession;
TableModel tableModel = requestTable.getModel();
if (tableModel != null) {
tableModel.removeTableModelListener(this);
}
requestTable.setModel(model);
requestTable.setRowSorter(new TriStateRowSorter(model));
model.addTableModelListener(this);
selectedItemChanged();
updateVisibility();
}
@Override
public void setModel(TableModel dataModel)
{
Objects.requireNonNull(dataModel, "Cannot set a null TableModel");
if (this.dataModel != dataModel)
{
TableModel old = this.dataModel;
if (old != null)
{
old.removeTableModelListener(this);
}
this.dataModel = dataModel;
dataModel.addTableModelListener(this);
tableChanged(new TableModelEvent(dataModel, TableModelEvent.HEADER_ROW));
firePropertyChange("model", old, dataModel);
if (getAutoCreateRowSorter())
{
if (dataModel instanceof SortableTableModel)
{
super.setRowSorter(new SortableTableRowSorter((SortableTableModel) dataModel));
}
else
{
super.setRowSorter(new TableRowSorter<>(dataModel));
}
}
}
}
@Override
public void setModel(TableModel dataModel)
{
Objects.requireNonNull(dataModel, "Cannot set a null TableModel");
if (this.dataModel != dataModel)
{
TableModel old = this.dataModel;
if (old != null)
{
old.removeTableModelListener(this);
}
this.dataModel = dataModel;
dataModel.addTableModelListener(this);
tableChanged(new TableModelEvent(dataModel, TableModelEvent.HEADER_ROW));
firePropertyChange("model", old, dataModel);
if (getAutoCreateRowSorter())
{
if (dataModel instanceof SortableTableModel)
{
super.setRowSorter(new SortableTableRowSorter((SortableTableModel) dataModel));
}
else
{
super.setRowSorter(new TableRowSorter<>(dataModel));
}
}
}
}
/**
* When the TableModel changes, the TableSelectionModel
* has to adapt to the new Model. This method is called
* if a new TableModel is set to the JTable.
*/
// implements PropertyChangeListener
public void propertyChange(PropertyChangeEvent evt) {
if ("model".equals(evt.getPropertyName())) {
TableModel newModel = (TableModel)(evt.getNewValue());
setColumns(newModel.getColumnCount());
TableModel oldModel = (TableModel)(evt.getOldValue());
if (oldModel != null)
oldModel.removeTableModelListener(this);
//TableSelectionModel must be aware of changes in the TableModel
newModel.addTableModelListener(this);
}
}
public synchronized void removeTableModel( final TableModel model ) {
for ( int i = 0; i < models.size(); i++ ) {
final TablePosition position = models.get( i );
if ( position.getTableModel() == model ) {
models.remove( position );
model.removeTableModelListener( changeHandler );
updateStructure();
return;
}
}
}
@Override
public void propertyChange ( @NotNull final PropertyChangeEvent event )
{
final String propertyName = event.getPropertyName ();
if ( Objects.equals ( propertyName, WebLookAndFeel.MODEL_PROPERTY ) )
{
// Move table model listener to new model
final TableModel oldModel = ( TableModel ) event.getOldValue ();
if ( oldModel != null )
{
oldModel.removeTableModelListener ( this );
}
final TableModel newModel = ( TableModel ) event.getNewValue ();
if ( newModel != null )
{
newModel.addTableModelListener ( this );
}
}
else if ( Objects.equals ( propertyName, WebTable.ROW_HEIGHT_PROPERTY ) && !adjusting )
{
// Save new row height
initialRowHeight = component.getRowHeight ();
// Overwrite row height
optimizeRowHeight ();
}
}
public void propertyChange(PropertyChangeEvent evt) {
TableModel oldModel = (TableModel)evt.getOldValue();
if (oldModel != null) {
oldModel.removeTableModelListener(myTableModelListener);
}
TableModel newModel = (TableModel)evt.getNewValue();
if (newModel != null) {
newModel.addTableModelListener(myTableModelListener);
}
if (oldModel != null) {
fireUIChanged();
}
}
protected void unprocessComponent(final Component component) {
if (component instanceof JTextComponent) {
((JTextComponent)component).getDocument().removeDocumentListener(myDocumentListener);
}
else if (component instanceof ItemSelectable) {
((ItemSelectable)component).removeItemListener(myItemListener);
} else if (component instanceof JTree) {
((JTree)component).getModel().removeTreeModelListener(myTreeModelListener);
} else if (component instanceof DocumentBasedComponent) {
((DocumentBasedComponent)component).getDocument().removeDocumentListener(myIdeaDocumentListener);
}
if (component instanceof JTable) {
component.removePropertyChangeListener(myTableListener);
TableModel model = ((JTable)component).getModel();
if (model != null) {
model.removeTableModelListener(myTableModelListener);
}
}
if (component instanceof JSlider){
((JSlider)component).removeChangeListener(myChangeListener);
}
if (component instanceof UserActivityProviderComponent) {
((UserActivityProviderComponent)component).removeChangeListener(myChangeListener);
}
}
@Override
protected void detachEditor() {
super.detachEditor();
TableModel tableModel = outline.getModel();
tableModel.removeTableModelListener(this);
}
void removeTableModelListener(TableModelListener tml) {
TableModel tableModel = getModel();
if (tableModel != null) {
tableModel.removeTableModelListener(tml);
}
}
public void removeTableModelListener(TableModelListener tml) {
TableModel tableModel = getModel();
if (tableModel != null) {
tableModel.removeTableModelListener(tml);
}
}
public static PropertyChangeListener addModelTracker(JTable p_Table,
final TableModelListener p_Listener) {
PropertyChangeListener propListener = new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent event) {
TableModel oldModel = (TableModel) event.getOldValue();
TableModel newModel = (TableModel) event.getNewValue();
if (oldModel != null)
oldModel.removeTableModelListener(p_Listener);
if (newModel != null)
newModel.addTableModelListener(p_Listener);
}
};
p_Table.addPropertyChangeListener("model", propListener);
p_Table.getModel().addTableModelListener(p_Listener);
return propListener;
}