Вопрос по java, swing – Установка цвета фона для JFrame

43

Как установить цвет фона для JFrame?

Ваш Ответ

15   ответов
61

setBackground () метод, унаследованный отСоставная часть изменить цвет.

Пример:

myJFrame.getContentPane().setBackground( desiredColor );
-5

super.setBackground(Color.CYAN);

Вы должны расширить JFrame в классе, прежде чем делать это!

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
4

this.getContentPane().setBackground(Color.white);

Source:

QualixInfotech. & quot; Изменить цвет фона в JFrame - руководство по Netbeans. & quot; YouTube, YouTube, 5 октября 2013 г.,www.youtube.com/watch?v=IRYSm0O8MyE.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
-1

Create a JLabel, resize it so it covers your JFrame. Right Click the JLabel, Find Icon and click on the (...) button. Pick a picture by clicking the Import to project button, then click finish. In the Navigator pane, (Bottom left by default, if disabled go to the Windows tab of your Netbeans IDE and enable it.)

используя Jlable, вы можете установить цвет фона, а также изображение.

5

что вам нужно сделать, это добавить этот код после initComponents ();

getContentPane().setBackground(new java.awt.Color(204, 166, 166));

Это пример цвета RGB, вы можете заменить его желаемым цветом. Если вы не знаете коды цветов RGB, поищите в Интернете ... Есть много сайтов, которые предоставляют такие цвета, как этот.

2

у меня была такая же проблема, и после многих попыток я обнаружил, что проблема в том, что вам нужноGraphics Object чтобы можно было рисовать, рисовать (setBackgroundColor).

Мой код обычно выглядит так:

import javax.swing.*;
import java.awt.*;


public class DrawGraphics extends JFrame{

    public DrawGraphics(String title) throws HeadlessException {
      super(title);
      InitialElements();
    }

    private void InitialElements(){
      setSize(300, 250);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setVisible(true);
      // This one does not work
      // getContentPane().setBackground(new Color(70, 80, 70));

    }

    public void paint(Graphics draw){
      //Here you can perform any drawing like an oval...
      draw.fillOval(40, 40, 60, 50);

      getContentPane().setBackground(new Color(70,80,70));
    }
}

Недостающая часть почти всех остальных ответов - где разместить код. Тогда теперь вы знаете, что идет вpaint(Graphics G)

-4
    frame.getContentPane().setBackground(Color.white);
Error: User Rate Limit Exceeded
0
public nameOfTheClass()  {

final Container c = this.getContentPane();

  public void actionPerformed(ActionEvent e) {
    c.setBackground(Color.white); 
  }
}
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededframe.getContentPane().setBackground(Color.PINK);
Error: User Rate Limit Exceeded
-1
import java.awt.*;
import javax.swing.*;

public class MySimpleLayout extends JFrame {

        private Container c;
        public MySimpleLayout(String str) {
            super(str);
            c=getContentPane();
            c.setLayout(null);
            c.setBackground(Color.WHITE);
        }
}
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
0

В 2018 году это решение работает для Swing / JFrame в NetBeans (должно работать в любой IDE :):

this.getContentPane().setBackground(Color.GREEN);

Source:

QualixInfotech. & # x201C; Изменить цвет фона в JFrame - руководство по Netbeans. & # x201D; YouTube, YouTube, 5 октября 2013 г.,www.youtube.com/watch?v=IRYSm0O8MyE.

2

Вот другой способ:

private void RenkMouseClicked(java.awt.event.MouseEvent evt) {
    renk = JColorChooser.showDialog(null, "Select the background color",
            renk);
    Container a = this.getContentPane();
    a.setBackground(renk);
}

Я использую netbeans ide. Для меня,JFrame.getContentPane() не бегал. я использовалJFrame.getContentPane()эквивалент классаthis.getContentPane.

31

getContentPane().setBackground(Color.YELLOW);  //Whatever color
10

с помощью:

setBackground(Color.red);

не работает должным образом.

использование

Container c = JFrame.getContentPane();

c.setBackground(Color.red);

или же

myJFrame.getContentPane().setBackground( Color.red );
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
2

Container c = JFrame.getContentPane();
c.setBackground(Color.red); 

Вы должны, конечно, импортироватьjava.awt.Color дляred постоянная цвета

0

а затем заполнить его вашим любимым цветом, например так:

@Override
public void paint(Graphics g) {
    g.setColor(Color.red);
    g.fillRect(0, 0, this.getWidth(), this.getHeight());
}

Похожие вопросы