jbBlue.setSize(80, 40);
jbBlue.addActionListener(this);
//添加组件到窗口
add(jbRed);
add(jbGreen);
add(jbBlue);
//窗口的设置
setLayout(null);//因为每一个按钮都设置了位置和大小, 那么应该把窗口设置为空布局, 那么位置和大小才能有效
setTitle("窗口标题");
getContentPane().setBackground(new Color(r,g,b));//设置窗口的面板背景色
setLocation(220, 160);// 窗口位置
setSize(320, 240);// 窗口大小
//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//点击关闭按钮时,结束程序
//下面也可以实现,点击关闭按钮时, 结束程序
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {//点击关闭按钮会触发这个事件,调用这个方法
System.out.println("通过WindowListener实现关闭");
System.exit(0);//退出
}
});
}
public void actionPerformed(ActionEvent e) {
String cmd=e.getActionCommand();
//通过ActionCommand 来判断是哪一个按钮被点击了
if("red".equals(cmd)) {//如果是红色按钮被点击了,那么红色+10
r+=10;
if(r255) {//如果red大于255 ,可以设置为0 ,也可以设置为255,一直锁定为255 也可设置为初始的90,这里题目这里没有要求
r=90;
}
}else if("green".equals(cmd)) {
g+=10;
if(g255) {
g=15;
}
}else if("blue".equals(cmd)){
b+=10;
if(b255) {
b=195;
}
}
this.getContentPane().setBackground(new Color(r,g,b));
//System.out.println(this.getContentPane().getBackground());
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
new MyFrame().setVisible(true);//启动窗口并设置可见
}
});
}
}
java设定背景颜色本来是在drawcomponent这个里边使用setBackground,你想啊drawcomponent是继承JComponent的所以它是一个容器,所以它同样有setBackground这个方法来设置它的背景颜色
但是因为你在设置它本身为一个画布,因为你用了paintComponent(Graphics g)
这个方法,所以setBackground这个方法即使你用了也看不到很大的效果 。但是有一种取代的方法就是在paintComponent(Graphics g)方法中首先就用Graphics 所含有的方法g.setColor(Color.black);来设置背景颜色再用g.fillRect(0, 0, this.getWidth(), this.getHeight());来填满整个容器,这就达到了设置背景目的 。然后你再g.setColor(其他颜色);来绘制其它图形.
具体代码:(在你以上的代码上修改了点)
public void paintComponent(Graphics g)
{
Graphics2D g2=(Graphics2D)g;
g.setColor(Color.black);//这里设置背景颜色
g.fillRect(0, 0, this.getWidth(), this.getHeight());//这里填充背景颜色
double x=100;
double y=100;
double w=200;
double h=150;
Rectangle2D rect=new Rectangle2D.Double(x,y,w,h);
g2.setPaint(Color.white);//这里是你设置其他笔触颜色
g2.draw(rect);
Ellipse2D ellipse=new Ellipse2D.Double();
ellipse.setFrame(rect);
g2.draw(ellipse);
Point2D p1=new Point2D.Double(x-40,y-30);
Point2D p2=new Point2D.Double(x+w+40,y+h+30);
g2.draw(new Line2D.Double(p1,p2));
double centerx=rect.getCenterX();
double centery=rect.getCenterY();
double radius=150;
Ellipse2D circle=new Ellipse2D.Double();
circle.setFrameFromCenter(centerx,centery,centerx+125,centery+125);
g2.draw(circle);
}
测试结果图
java背景色代码的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于java的背景怎么弄成黑色、java背景色代码的信息别忘了在本站进行查找喔 。
推荐阅读
- 江苏网页直播系统搭建教程,江苏的直播机构有哪些
- 新京报如何应对新媒体,分析新京报的媒介定位和产品特色
- u盘空间变成0了怎么恢复,u盘空间变小怎么恢复正常
- c语言函数写什么 c语言的函数怎么写
- AI画的图怎么保存到U盘,ai画好的图怎么导出
- 西门子浮点数转word,西门子浮点数转实数
- 直播电脑投屏失败,直播电脑投屏失败怎么解决
- js中val不生效的简单介绍
- ado.net访问数据库,netterm访问数据库