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);
}
} 展开
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);
}
} 展开
展开全部
因为你的面板(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();
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询