//请问怎样写main方法里的代码才能执行paint里的语句
import java.awt.*;
class allfonts
{
public static void paint(Graphics g)
{
g.setColor(Color.red);
g.drawLine(0,0,100,100);
g.drawRect(0,0,100,100);

}
public static void main(String args[])
{
??????
}
}

解决方案 »

  1.   

    不是所有的类都能画图的,至少应该是图形界面
    applet的话你那个paint函数就行了
    其他的JComponent的话override paintComponent方法
      

  2.   

    import java.awt.*;
    import javax.swing.*;
    import java.awt.geom.*;public  class AllFonts
    {
    public static void main(String [] args)
    {
    AllFontsFrame Frame = new AllFontsFrame();
    Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Frame.show();
    }
    }
    class AllFontsFrame extends JFrame
    {
    public AllFontsFrame() 
    {
    super("ALLFONTS");
    setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
    AllFontsPanel Panel = new AllFontsPanel();
    Container contentpane = getContentPane();
    contentpane.add(Panel);
    }
    private static final int DEFAULT_WIDTH = 400;
    private static final int DEFAULT_HEIGHT = 400;
    }class AllFontsPanel extends JPanel
    {
    public void paintComponent(Graphics g)
    {
    super.paintComponent(g);
    Graphics2D g2 = (Graphics2D)g;
    //draw rectangle
    Rectangle2D rect = new Rectangle2D.Double(100,100,100,100);
    g2.draw(rect);
    g2.setPaint(Color.RED);
    g2.fill(rect);
    }
    }
      

  3.   

    线条就
    Line2D 就可以了