On Fri, 17 Dec 2021 18:56:37 GMT, Alexey Ivanov <[email protected]> wrote:
>> After going on through the example, what I felt is "Adds to CellEditor the >> extensions necessary to configure an editor in a tree" is little generic >> description than the updated PR Definition. > >> > The object that implements the interface is not necessarily the editor for >> > values. DefaultCellEditor is the perfect example: it's not an editor >> > itself, it's not even a component, all it does is configures a delegate, a >> > JComponent, which serves as the editor. >> >> My thoughts about this. The object which implements the interface is always >> the "editor", even if it is not a component. I guess you are mixing it with >> the other classes like "JEditorPane/JTextField/etc". > > No, I don't mix them. It's called CellEditor, however, it's actually > CellEditor-provider: the implementation of the interface *provides a > component* which is used as the editor for cell values. Or do I miss anything? > > What I mean is that this editor object defines the implementation of how an > instance of `JTable` acquires an editor component. In that sense it's an > editor. > > Probably, this part of the discussion is off-topic as we're discussing the > terms. > > Let's discuss the spec. > >> The current spec: >> >> > This interface defines the method any object that would like to be >> > an editor of values for components such as `JListBox`, >> > `JComboBox`, `JTree`, or `JTable` >> > needs to implement. >> >> This means that the application may have some values/data stored in the >> JComboBox/JTree/JTable and the application may create a cell editor by >> implementing the TableCellEditor. That editor then could be used as a cell >> editor in the "main" JTable. > > Why does the interface reference this? The application can store and display > data in any component. > > Moreover the statement in the Javadoc is wrong: This interface defines the > method that can create an editor for `JTable` only. The returned component is > of type `Component`, therefore it can be any component. > >> So the next statement in the description of this PR is not completely right: >> >> > "CellTableEditor Interface doesn't support JComboBox and JTree components" >> >> The JComboBox and other classes do not have to implement/support that >> interface. > > No, they don't. At the same time `TableCellEditor` interface can't be used to > return a cell editor for `JComboBox` and for `JTree` components. These > components use `ComboBoxEditor` and `TreeCellEditor` correspondingly. > After going on through the example, what I felt is "Adds to CellEditor the > extensions necessary to configure an editor in a tree" is little generic > description than the updated PR Definition. The interface is generic, so the generic description fits well. I still find the proposed version quite hard to parse. In my first comment, I suggested rephrasing the Javadoc to make it clearer and easier to understand. ------------- PR: https://git.openjdk.java.net/jdk/pull/6608
