2

フレームの背景色が設定されていない理由を教えてください。内で背景色を設定することは可能ですか、それともコンストラクターPaint()で行う必要がありますかJColor

BGカラーは以下のようになります-

選択した単一JButtonの背景色を表示するGUIアプリケーションを作成します。

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;

/**
 *
 * @author Curtis
 */
public class JColor extends JFrame implements ActionListener
{
Font myFont = new Font("Playbill", Font.PLAIN, 28);
JButton myButton = new JButton("Click Me!");
Color bgColor = new Color(255, 97, 3);
Color txtColor = new Color(0, 0, 205);
String firstName = "Curtis";
String lastName = "Sizemore";

public JColor()
        {
            super("String Painting Fun");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setLayout (new BorderLayout());
            add(myButton, BorderLayout.SOUTH);
            setDefaultLookAndFeelDecorated(true);
            setBackground(Color.BLUE);
        }

@Override
public void paint(Graphics e)
{
    super.paint(e);
}

public static void main(String[] args) 
{
    final int TALL = 200;
    final int WIDE = 250;
    JColor frame = new JColor();
    frame.setSize(WIDE, TALL);

    frame.setVisible(true);
}

@Override
public void actionPerformed(ActionEvent e) 
{
    throw new UnsupportedOperationException("Not supported yet.");
}
}
4

1 に答える 1

4

インスタンスで呼び出してみてくださいContentPane(詳細はこちら

public JColor() {
    super("String Painting Fun");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setLayout(new BorderLayout());
    add(myButton, BorderLayout.SOUTH);
    setDefaultLookAndFeelDecorated(true);
    getContentPane().setBackground(Color.BLUE);//<- update
}
于 2012-07-03T18:40:23.893 に答える