关于Canvas背景颜色的问题!!求高手指点!

yanlinlin 2004-09-01 06:07:36
我在程序中向JFrame中添加一个Canvas,但是用Canvas.setBackground(Color.red);语句来设置Canvas的背景颜色,用JFrame.add(Canvas);添加到JFrame中后,没有背景颜色,不知道为什么??
请高手指点!!!!!
...全文
778 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
射天狼 2004-09-03
  • 打赏
  • 举报
回复
要改你添加的PANEL的颜色,如果改主FRAME的颜色,再添加PANEL,就把主FRAME给盖上了!!
射天狼 2004-09-03
  • 打赏
  • 举报
回复
import java.awt.*;
import javax.swing.*;

public class test extends JFrame
{
JPanel mainPane = null;
JButton btnOK = null;
test ()
{
init ();
}

private void init ()
{
addWindowListener(new WindowAdapter ()
{
public void windowClosing (WindowEvent e)
{
System.exit (0);
}
});

getPane ();
setSize (400, 350);
}

private JPanel getPane ()
{
mainPane = ((JPanel)getContentPane ());
mainPane.setBackground(Color.BLUE);
return (mainPane);
}


public static void main (String [] args)
{
new test().show ();
}
}
yanlinlin 2004-09-02
  • 打赏
  • 举报
回复

谢谢楼上的朋友!
但是你给的例子运行结果cn还是没有背景色呀!!
再请教!!!
yanlinlin 2004-09-02
  • 打赏
  • 举报
回复
再顶一下!
希望高手帮忙解决一下!小弟在此多谢了!!!
紫黑蓝白 2004-09-01
  • 打赏
  • 举报
回复
Container c = getContentPane();

// ,可能是cn内容为空,它的大小为零,加一句:
c.setLayout(new BorderLayout());
试试。
Canvas cn = new Canvas();
cn.setBackground(Color.red);
c.add(cn);
cds1983 2004-09-01
  • 打赏
  • 举报
回复
我写了一个,你看看
import java.awt.*;
import javax.swing.*;

class Foo extends JFrame
{
public static void main(String[] args)
{
Foo f = new Foo();
f.setSize(400, 200);
f.show();
}
public Foo()
{
Container c = getContentPane();
Canvas cn = new Canvas();
cn.setBackground(Color.red);
c.add(cn);
}
}

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧