<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif"><p>Hi,</p>
<p>Ah, of course, I should have realized that myself.</p>
<p>It would be nice if there was a warning or a property developers can set to prevent that, for example, to check and throw an error if a node is used twice.</p>
<p>Thanks for pointing it out, and apologies for reporting a non-issue.</p>
<p>
</p><p></p><p></p><p>(P.S. I sent another email just before this that I don't think falls into the same user-error category!)</p><p><br></p><p><br></p><p>Kind regards,<br>
Cormac</p></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sat, 8 Nov 2025 at 23:08, John Hendrikx <<a href="mailto:john.hendrikx@gmail.com">john.hendrikx@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>
<div>
<p>Hi,<br>
</p>
<p>I'm guessing you're setting the disappearing item as "Graphic",
because it is a Label and not a string. However, you can only set
a Node (anywhere, including as graphic) in one part of the scene
graph. Setting it somewhere else will cause it to be removed in
the old location (without warning unfortunately).<br>
</p>
<p>In this case, the Label is likely used as graphic in two places:
once in the list (as a cell), and once in the edit area (as
another cell) of the ComboBox when it was the last one selected.
This is causing the odd disappearing artifact.</p>
<p>Best practice is to not use Nodes as items for a ComboBox.
Instead, use a Record or some other type that the
ListCell::updateItem will convert to be shown in the way you want.<br>
</p>
<p>--John<br>
</p>
<div>On 08/11/2025 22:26, Cormac Redmond
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_default" style="font-family:verdana,sans-serif">Hi,</div>
<div class="gmail_quote">
<div dir="ltr">
<div style="font-family:verdana,sans-serif"><br>
</div>
<div style="font-family:verdana,sans-serif">There is a bug
whereby if you select a ComboBox item the item disappears
/ becomes invisible.</div>
<div style="font-family:verdana,sans-serif"><br>
</div>
<div style="font-family:verdana,sans-serif">This ComboBox
consists of strings and a Label node and the Label node
will disappear from the dropdown if it's selected (though,
continue to take up space).</div>
<div style="font-family:verdana,sans-serif"><br>
</div>
<div style="font-family:verdana,sans-serif">I'm just picking
a Label for example, it appears to happen with any Node
that I've tried.</div>
<div style="font-family:verdana,sans-serif"><br>
</div>
<div style="font-family:verdana,sans-serif"><img src="cid:ii_19a65fadaca62d851e01" alt="bug_cb.gif" width="322" height="380"><br>
</div>
<div style="font-family:verdana,sans-serif"><br>
</div>
<div style="font-family:verdana,sans-serif"><br>
</div>
<div style="font-family:verdana,sans-serif">Steps to
reproduce (JFX 26, master branch)<span class="gmail_default" style="font-family:verdana,sans-serif">. Note</span>:<span class="gmail_default" style="font-family:verdana,sans-serif"> </span>I've kept
the sample small<span class="gmail_default" style="font-family:verdana,sans-serif"> intentionally</span>,
but if you use a CellFactory (to call setText<span class="gmail_default" style="font-family:verdana,sans-serif">()</span> or
setGraphic<span class="gmail_default" style="font-family:verdana,sans-serif">()</span>
accordingly, <span class="gmail_default" style="font-family:verdana,sans-serif">as normal), </span>the
<i><span class="gmail_default" style="font-family:verdana,sans-serif"></span>same</i>
thing happens<span class="gmail_default" style="font-family:verdana,sans-serif">. In other words,
the bug doesn't seem to be because of "mis-use" of the
ComboBox by mixing types -- I think</span><span class="gmail_default" style="font-family:verdana,sans-serif">.</span></div>
<div style="font-family:verdana,sans-serif"><br>
</div>
<div><font face="monospace">public class
ComboBoxDisappearingItemBug extends Application {<br>
public static void main(String[] args) {<br>
launch(args);<br>
}<br>
<br>
public void start(Stage stage) {<br>
ComboBox<Object> cb = new
ComboBox<>();<br>
cb.getItems().addAll("Apple", "Banana", new
Label("I will disappear"), "Carrot", "Lettuce");<br>
cb.getSelectionModel().selectFirst();<br>
stage.setScene(new Scene(cb, 200, 100));<br>
stage.show();<br>
}<br>
}</font></div>
<div style="font-family:verdana,sans-serif"><br>
</div>
<div style="font-family:verdana,sans-serif"><br>
</div>
<div style="font-family:verdana,sans-serif"><br>
</div>
<div style="font-family:verdana,sans-serif">Kind Regards,</div>
<div style="font-family:verdana,sans-serif">Cormac</div>
</div>
</div>
</div>
</blockquote>
</div>
</blockquote></div>