画的线显示不出来,请帮帮忙
public class monitor extends JApplet{
  private JPanel contentPane = new JPanel();
  private JSplitPane jSplitPane1 = new JSplitPane();
  private JPanel jPanel2 = new JPanel();
  private JTabbedPane jTabbedPane1 = new JTabbedPane();
 SketChPanel line1=new SketChPanel(40d,50d,80d,50d);
  public monitor() {
    try {
         jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
  private void jbInit() throws Exception {
    this.getContentPane().add(contentPane, BorderLayout.CENTER);
    contentPane.add(jSplitPane1, BorderLayout.CENTER);
    jSplitPane1.add(jPanel2, JSplitPane.LEFT)
    jPanel2.add(line1);
  }
public static void main(String[] args){
  Console.run(new monitor(),500,500);
}}
public class SketChPanel extends JPanel
{
private Point2D begin;
private Point2D end;
private double x;
private double y;
private double w;
private double z;
public SketChPanel(double x,double y,double w,double z)
{
this.x=x;
this.y=y;
this.w=w;
this.z=z;
begin=new Point2D.Double(x,y);
end=new Point2D.Double(w,z);
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2=(Graphics2D)g;
Line2D line=new Line2D.Double(begin,end);
g2.draw(line);
}
}

解决方案 »

  1.   

    你把画线的坐标改一下试试能不能看到
     SketChPanel line1=new SketChPanel(1d,1d,80d,50d);
    你的画线空间有点小呀
      

  2.   

    不是这个问题,我改成contentPane.add(line1)这条语句就能出来。不知道是什么问题
      

  3.   

    你用
    jPanel2.add(line1);

    contentPane.add(line1);
    画线的空间是不同的,前者是个很小我区域,后者是个很大的区域,而你的坐标
    SketChPanel line1=new SketChPanel(1d,1d,20d,20d);
    超出的前者的视野,所以会看不到
      

  4.   

    不是的阿,我在jPanel2上加上jLabel都看到了,我也设置坐标了,那你说怎么办啊?真心的谢谢你,你有qq马,这样来回回复太费事了
      

  5.   

    mport java.awt.*;
    import javax.swing.*;
    import java.awt.geom.*;
    public class monitor extends JApplet{

      private JPanel contentPane = new JPanel();
      private JSplitPane jSplitPane1 = new JSplitPane();
      private JPanel jPanel2 = new JPanel();
      private JTabbedPane jTabbedPane1 = new JTabbedPane();
     SketChPanel line1=new SketChPanel(40d,50d,80d,50d);
      public monitor() {
        try {
             jbInit();
        }
        catch(Exception e) {
          e.printStackTrace();
        }
      }
      private void jbInit() throws Exception {
        this.getContentPane().add(contentPane, BorderLayout.CENTER);
        contentPane.add(jSplitPane1, BorderLayout.CENTER);
        jSplitPane1.add(jPanel2, JSplitPane.LEFT);
        jPanel2.add(line1);
      }
    }
    class SketChPanel extends JPanel
    {
    private Point2D begin;
    private Point2D end;
    private double x;
    private double y;
    private double w;
    private double z;
    public SketChPanel(double x,double y,double w,double z)
    {
    this.x=x;
    this.y=y;
    this.w=w;
    this.z=z;
    begin=new Point2D.Double(x,y);
    end=new Point2D.Double(w,z);
    } public void paintComponent(Graphics g)
    {
    super.paintComponent(g);
    Graphics2D g2=(Graphics2D)g;
    Line2D line=new Line2D.Double(begin,end);
    g2.draw(line);
    }
    }