画的线显示不出来,请帮帮忙
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);
}
}
SketChPanel line1=new SketChPanel(1d,1d,80d,50d);
你的画线空间有点小呀
jPanel2.add(line1);
和
contentPane.add(line1);
画线的空间是不同的,前者是个很小我区域,后者是个很大的区域,而你的坐标
SketChPanel line1=new SketChPanel(1d,1d,20d,20d);
超出的前者的视野,所以会看不到
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);
}
}