【问题标题】:Java Swing Applet- Cant set background colorJava Swing Applet - 无法设置背景颜色
【发布时间】:2023-03-04 07:38:07
【问题描述】:

首先,我是 Swing 新手。我试图设置音频录制小程序的背景颜色,以使其与我的网页融合(白色而不是默认的灰色),但似乎从未发生过变化。下面是小程序初始化...

public void init()
{
    setLayout(null);
    setBackground(Color.white);
    JLabel recorder = new JLabel("Record");
    JLabel fileName = new JLabel("Please Enter File Name");
    JLabel status = new JLabel("Status...");
    fnametxt = new JTextField("FileNameHere");
    statustxt = new JTextField("");
    record = new JButton("Record");
    play = new JButton("Play");
    pause = new JButton("Pause");
    stop = new JButton("Stop");
    send = new JButton("Upload");
    listen = new JButton("Listen");
    save = new JButton("Save and Submit");
//A bunch of other stuff, event listeners and whatnot.

我没有使用布局管理器,我手动设置了所有位置。有什么想法吗?

【问题讨论】:

  • 您要将JButtonJTextField 对象添加到什么Container?您是否尝试在该容器上设置背景颜色?
  • 首先写setOpaque(true),然后,而不是使用setBackground(...),尝试getContentPane().setBackground(...),如果你不使用任何JPanel来保存你的组件,那可能会为你解决问题你已经展示了。
  • setOpaque 不起作用,它表示 AudioApplet 类型没有 setOpaque 方法(扩展 JApplet)
  • 但是,为内容窗格着色确实有效,谢谢!

标签: java swing applet


【解决方案1】:

您(可能)设置了 Applet 的背景,但该背景只会显示它没有被其他组件遮挡的位置。

根据您构建 GUI 的方式,可能会有内部面板或其他组件覆盖该区域。您还需要更改这些组件的颜色(或者使用 setOpaque(false) 将它们设置为透明)。

编辑:setOpaque() 仅适用于 Swing 组件,而不是 Applet 本身(因为那是普通的旧 AWT)。

【讨论】:

  • 我看不到任何其他面板或容器。当我添加组件(按钮等)时,我只需设置每个组件的边界(button.setBounds(x,x,x,x)),然后添加(按钮)。
【解决方案2】:

您可能应该设置内容窗格的背景颜色。

【讨论】:

    【解决方案3】:

    如果您在小程序中使用 JPanel,您还必须为 JPanel 的内容窗格着色。以下代码将 JPanel 本身及其内容窗格的背景设置为白色:

    setBackground(Color.white);
    getContentPane().setBackground(Color.white); //Color JPanel
    

    【讨论】:

    • 正确回答了这个问题。您的问题可以被社区删除(这里的用户)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 2012-02-17
    • 2012-06-04
    • 2014-03-29
    • 1970-01-01
    • 1970-01-01
    • 2015-06-06
    相关资源
    最近更新 更多