【问题标题】:Clear foreground of a drawing panel in SwingSwing中绘图面板的清晰前景
【发布时间】:2012-08-22 22:02:32
【问题描述】:

制作this 画笔程序我决定要清除面板容器(链接代码中的panel2)。我使用了PanelName.setForeground(null),它奏效了。我想知道的是,这种方法和其他从容器中删除图形对象的方法是否存在已知的缺点。

【问题讨论】:

    标签: java swing graphics jpanel


    【解决方案1】:

    如果您覆盖paintComponent,您可以使用Graphics#clearRect 清除其Graphics。但总的来说,我更喜欢你的方法,因为我的方法要求你要么继承JPanel,要么匿名声明一个。

    【讨论】:

      【解决方案2】:

      @mre 的回答正好相反,“尊重这个property 取决于外观和感觉,有些人可能会选择忽略它。”我不知道忽略前景色的PanelUI,但在测试时需要注意。

      附录:作为@kleopatra cmets,JComponent@setForeground() API 链接到Component#getForeground() API,其中指出:“如果此组件没有前景色,则返回其父组件的前景色。”

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-15
        • 2014-05-29
        • 2020-11-23
        • 1970-01-01
        • 2011-05-03
        • 2014-09-14
        相关资源
        最近更新 更多