想了半天,以下是我改的,现在的问题就是鼠标监听器里怎么写了!大虾们帮忙啊import java.awt.*;
import java.applet.*;
import java.awt.event.*;
class PanelDemo extends Panel
{
PanelDemo()
{
addMouseListener(new MouseAdapter(){
public void windowClosing(MouseEvent me)
{

}
});
}
public void paint(Graphics g)
{
Dimension d = getSize();
int x = d.width;
int y = d.height;
//g.drawLine(0,0,x,y);
//g.drawLine(0,y,x,0);
//g.drawOval(0,0,x,y);
}
}
class Frame4p extends Frame
{
PanelDemo p1;
PanelDemo p2;
PanelDemo p3;
PanelDemo p4;
Frame4p()
{
p1 = new PanelDemo();
p2 = new PanelDemo();
p3 = new PanelDemo();
p4 = new PanelDemo();
setLayout(new GridLayout(2,2));
add(p1);
p1.setBackground(Color.blue);
add(p2);
p2.setBackground(Color.red);
add(p3);
p3.setBackground(Color.DARK_GRAY);
add(p4);
p4.setBackground(Color.cyan);
setSize(300,300);
setVisible(true);

}

public class Frame1 extends Applet
{
public void init()
{
Frame4p f4p = new Frame4p();
f4p.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
}

解决方案 »

  1.   

    “叉”可以用两条线组成drawLine(x1,y1,x2,y2);
    drawLina(x1,y2,x2,y1);
      

  2.   

    按你的代码改的,此类程序最好用swing组件import java.awt.*;
    import java.applet.*;
    import java.awt.event.*;
    class PanelDemo extends Panel
    {
            PanelDemo()
            {
                    addMouseListener(new MouseAdapter(){
                            public void windowClosing(MouseEvent me)
                            {                        }
                            public void mouseClicked(MouseEvent me)
                            {
                              line = !line;
                              repaint();
                            }
                    });
            }
            public void paint(Graphics g)
            {
                    Dimension d = getSize();
                    int x = d.width;
                    int y = d.height;
                    if (line)
                    {
                      g.drawLine(0,0,x,y);
                      g.drawLine(0,y,x,0);
                    }
                    else
                      g.drawOval(0,0,x,y);
            }
            
            private boolean line = true;
    }
    class Frame4p extends Frame
    {
            PanelDemo p1;
            PanelDemo p2;
            PanelDemo p3;
            PanelDemo p4;
            Frame4p()
            {
                    p1 = new PanelDemo();
                    p2 = new PanelDemo();
                    p3 = new PanelDemo();
                    p4 = new PanelDemo();
                    setLayout(new GridLayout(2,2));
                    add(p1);
                    p1.setBackground(Color.blue);
                    add(p2);
                    p2.setBackground(Color.red);
                    add(p3);
                    p3.setBackground(Color.DARK_GRAY);
                    add(p4);
                    p4.setBackground(Color.cyan);
                    setSize(300,300);
                    setVisible(true);        }

    public class Frame1 extends Applet
    {
            public void init()
            {
                    Frame4p f4p = new Frame4p();
                    f4p.addWindowListener(new WindowAdapter(){
                            public void windowClosing(WindowEvent e)
                            {
                                    System.exit(0);
                            }
                    });
            }
    }