gpt4 book ai didi

java - Swing:JComboBox 中所选项目旁边的 float 面板

转载 作者:行者123 更新时间:2023-11-29 08:19:30 27 4
gpt4 key购买 nike

我创建了一个带有小窗口(组合框大小)的应用程序。我需要创建一个位于窗口外的 float 面板,它位于 JComboBox 中所选项目的旁边。 (见附图)。

alt text

我一直在阅读有关 JComboBox.setRenderer(customRenderer) 等的信息。但是在我走这条路之前我只是想知道是否有可能在窗口外渲染一些东西。我怀疑是这样,因为组合框本身设法在窗口外呈现它的弹出列表。

我是 Swing 的新手,所以任何建议都将不胜感激。

最佳答案

自定义渲染器是不可能的,因为 Swing 组件是轻量级的。也就是说,Java 被赋予了一个 native 窗口,并且所有组件绘制都在该窗口中进行。在您的例子中,这是包含组合框的 JFrame。

不过,您可以做的是创建一个新的未装饰窗口并相应地设置它的位置,然后在其中绘制您想要的任何内容。

编辑:当 Java 需要在它的窗口边界外绘制时(例如弹出消息或下拉组合框的情况),如果组件落在边界内,它会使用 swing 轻量级机制。但是,如果组件超出边界,它会自动替换为在 Activity 窗口外具有自己的原生绘图表面的 awt 重量级组件。

关于java - Swing:JComboBox 中所选项目旁边的 float 面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1376233/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com