这个程序可以关闭,怎么设置背景颜色???显示出来却是透明的..
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.*;import sun.awt.geom.AreaOp.AddOp;
import java.awt.*;
public class 画图
{ public static void main(String[] args)
{
new MyFrame("stringfd"); }}class MyFrame extends JFrame
{
ArrayList points=null;
MyFrame (String s)
{
super(s);
points=new ArrayList();
setLayout(null);
setBounds(100, 100,200,200);
setBackground(new Color(204,204,255));
setVisible(true);
this.addMouseListener(new Mou());
}
public void paint(Graphics g)
{
Iterator i =points.iterator();
while (i.hasNext())
{
Point p =(Point)i.next();
g.setColor(Color.blue);
g.fillOval(p.x,p.y,10,10);
}
}
public void addPoint(Point p)
{
points.add(p);
}
}class Mou extends MouseAdapter
{
public void mousePressed(MouseEvent e)
{
MyFrame f =(MyFrame)e.getSource();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.addPoint(new Point(e.getX(),e.getY()));
f.repaint();
}
}
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.*;import sun.awt.geom.AreaOp.AddOp;
import java.awt.*;
public class 画图
{ public static void main(String[] args)
{
new MyFrame("stringfd"); }}class MyFrame extends JFrame
{
ArrayList points=null;
MyFrame (String s)
{
super(s);
points=new ArrayList();
setLayout(null);
setBounds(100, 100,200,200);
setBackground(new Color(204,204,255));
setVisible(true);
this.addMouseListener(new Mou());
}
public void paint(Graphics g)
{
Iterator i =points.iterator();
while (i.hasNext())
{
Point p =(Point)i.next();
g.setColor(Color.blue);
g.fillOval(p.x,p.y,10,10);
}
}
public void addPoint(Point p)
{
points.add(p);
}
}class Mou extends MouseAdapter
{
public void mousePressed(MouseEvent e)
{
MyFrame f =(MyFrame)e.getSource();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.addPoint(new Point(e.getX(),e.getY()));
f.repaint();
}
}
super.paint(g);
Iterator i = points.iterator();
while (i.hasNext()) {
Point p = (Point) i.next();
g.setColor(Color.blue);
g.fillOval(p.x, p.y, 10, 10); }
}在paint函数第一行加super.paint(g); 先调用父类的paint初始工作
getContentPane().setBackground(new Color(204, 204, 255)); //修改了这一句...
在加上楼上这一句,
super.paint(g); 背景颜色 ==>可以显示出来import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.Iterator;import javax.swing.JFrame;public class 画图 { public static void main(String[] args) {
new MyFrame("stringfd"); }}class MyFrame extends JFrame {
ArrayList points = null; MyFrame(String s) {
super(s);
points = new ArrayList();
setLayout(null);
setBounds(100, 100, 200, 200);
//setBackground(new Color(204, 204, 255));
getContentPane().setBackground(new Color(204, 204, 255)); //修改了这一句...
setVisible(true);
this.addMouseListener(new Mou());
} public void paint(Graphics g) {
super.paint(g);
Iterator i = points.iterator();
while (i.hasNext()) {
Point p = (Point) i.next();
g.setColor(Color.blue);
g.fillOval(p.x, p.y, 10, 10);
}
} public void addPoint(Point p) {
points.add(p);
}
}class Mou extends MouseAdapter {
public void mousePressed(MouseEvent e) {
MyFrame f = (MyFrame) e.getSource();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.addPoint(new Point(e.getX(), e.getY()));
f.repaint();
}
}
改为
getContentPane().setBackground(new Color(204,204,255));