JAVA面板背景颜色,设置了红色的黄色,显示出来只有黄色?请问红色去哪里了。怎么才能显示出来

importjava.awt.*;importjava.io.BufferedReader;importjava.io.IOException;importjava.io... import java.awt.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.swing.*;
public class Test{
public static void main(String [] agrs) {
JFrame frame = new JFrame("我的第一个Frame");
Container contenPane=frame.getContentPane();

contenPane.setBackground(Color.RED);
JPanel p=new JPanel();
p.setBackground(Color.yellow);
JButton but=new JButton("我的按钮yy");
p.add(but);
contenPane.add(p,BorderLayout.CENTER);

frame.setSize(300,200);
frame.setVisible(true);
contenPane.setVisible(true);
}

}
展开
 我来答
microroom
科技发烧友

2019-12-20 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1619万
展开全部
因为你的面板(JPanel)对象p是完全不透明的,它遮住了下面的颜色。要使下面的颜色可见,需设置不透明度。
追答
//下面是一个关于设置颜色的透明度的例子(注意:需指定一个图片的路径)

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

public class Hyaline {
public static void main (String[] args) throws Exception {
JFrame f=new JFrame()
{
{
Tracker=new MediaTracker(this);
Tracker.addImage(Pic, 0);
Tracker.waitForID(0);
setSize(Pic.getWidth(this),Pic.getHeight(this));
setResizable(false);
new javax.swing.Timer(2500,new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
repaint();
}
}).start();
}
public void paint(Graphics g)
{
final int Num=10;

int w=200,h=150;
int maxx=Pic.getWidth(this)-w;
int maxy=Pic.getHeight(this)-h;

g.drawImage(Pic,0,0,null);
for(int i=0;i<Num;i++)
{
g.setColor(new Color(R.nextInt(256),R.nextInt(256),R.nextInt(256),R.nextInt(256)));
g.fillOval(R.nextInt(maxx),R.nextInt(maxy),w,h);
}
}
};
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}

// 将PicPath的值指定为你的图片的路径
static String PicPath="p.jpg";
static Image Pic=Toolkit.getDefaultToolkit().getImage(PicPath);
static MediaTracker Tracker;
static Random R=new Random();
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式