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

Reply via email to