【问题标题】:How to use Java AWT setBackground如何使用 Java AWT setBackground
【发布时间】:2012-10-04 04:52:57
【问题描述】:

这是一些创建基本 java 窗口的代码:

JPanel pane = new JPanel();
gui(String title){
    super(title);
    setBounds(100,100,500,500);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Container con = this.getContentPane();
*   con.setBackground(new Color(0,0,0));
    con.add(pane);
    setVisible(true);
}

标有星号 (*) 的线表示窗口的背景颜色为黑色 (0,0,0)。然而,这条线似乎什么也没做。 (我在这里尝试过使用pane.setBackground,但这并没有什么区别。)

如何更改背景颜色?

【问题讨论】:

  • 如需尽快获得更好的帮助,请发帖SSCCE

标签: java swing user-interface colors awt


【解决方案1】:

您在 JFrame 上添加了 JPanel,这完全屏蔽了您设置颜色的底层容器。

你可以这样做:

public Gui(String title) {
   super(title);
   JPanel pane = new JPanel();
   setBounds(100, 100, 500, 500);
   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   Container con = this.getContentPane();
   pane.setBackground(new Color(0, 0, 0));
   con.add(pane);
   setVisible(true);
}

【讨论】:

  • 我尝试添加它,但没有任何变化。具体应该放在哪里?
  • 它应该放在星号 * 所在的位置。
  • 那没有区别?任何线索为什么?
  • 它对我有用。我已经发布了我正在使用的完整构造函数。
  • 啊,代码的不同部分导致它变白。对此感到抱歉。
【解决方案2】:

您不能为 JFrame 的内容窗格设置背景颜色。 我的意思是:

 JFrame f = new JFrame() ;
 f.setBackground(Color.RED) ;

然而,你应该做的是创建一个 JPanel 作为背景并设置它的颜色,如下所示:

backgroundPanel.setBackground(Color.RED);

【讨论】:

  • 我尝试添加它,但没有任何区别。我应该把它放在哪里?
  • 为什么不能JFrame 的内容窗格设置背景颜色JFrame#setBackgroundJFrame#getContentPane#setBackground 对我来说工作得很好
  • 哎呀,你是对的。是 JFrame.setBackground(Color.RED) 当您看到此评论时,我将删除我的答案。
  • @MadProgrammer 会这样做:P
【解决方案3】:
Jframe f =new Jframe();
f.setBackground(Color.red);

这也可能解决手头的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-25
    • 2017-01-16
    • 2010-10-16
    • 1970-01-01
    • 1970-01-01
    • 2019-02-13
    • 1970-01-01
    • 2016-03-20
    相关资源
    最近更新 更多