该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
points、pointl、pointp、L、P都是数组,分别是点、线、面。它们的关系是:points里包含多个point,L里包含多条pointl,P里包含多个pointp.我想往里面添加点要素。
private void addActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
add addFrm=new add(null,true);
addFrm.setVisible(true);
int index=0,dianIndex=0;
flag=addFrm.flag;
if(flag==1){
index=addFrm.index;
if(index < 0 || index > points.size() +1){
throw new IndexOutOfBoundsException("顺序表索引越界");
//javax.swing.JOptionPane.showMessageDialog(null, "没有索引号为"+index+"的点");
}else{
points.add(index, aPoint);
points.get(index);
myRepaint();
}
}
else{
index=addFrm.index;
dianIndex=addFrm.dianIndex;
if(flag==2){
if(index < 0 || index > L.size() + 1){
throw new IndexOutOfBoundsException("顺序表索引越界");
// javax.swing.JOptionPane.showMessageDialog(null, "没有索引号为"+index+"的线");
}
else{
Pointl pl=new Pointl();
pl=L.get(index);
L.add(index,pl);
myPoint[] poiArray1=new myPoint[pl.pNumPoints];
poiArray1=pl.pmyPoints;
myPoint[] poiArray2=new myPoint[pl.pNumPoints+1];
if(dianIndex < 0 || dianIndex > pl.pNumPoints + 1){
throw new IndexOutOfBoundsException("顺序表索引越界");
// javax.swing.JOptionPane.showMessageDialog(null, "索引号为"+index+"的线上没有索引号为"+dianIndex+"的点");
}else{
for(int i=0;i
if(i
poiArray2[i]=poiArray1[i];
}
else{
poiArray2[i]=poiArray1[i+1];
}
}
Pointl pl1=new Pointl();
pl1.setPoints(poiArray2);
L.add(index, pl1);
myRepaint();
}
}
}
if(flag==3){
if(index < 0 || index > points.size() + 1){
throw new IndexOutOfBoundsException("顺序表索引越界");
// javax.swing.JOptionPane.showMessageDialog(null, "没有索引号为"+index+"的多边形");
}
else{
Pointp pp=new Pointp();
pp=P.get(index);
if(pp.pNumPoints>3){
if(dianIndex < 0 || dianIndex > pp.pNumPoints+1){
throw new IndexOutOfBoundsException("顺序表索引越界");
// javax.swing.JOptionPane.showMessageDialog(null, "第"+index+"个多边形上没有索引号为"+dianIndex+"的点");
}else{
P.remove(index);
myPoint[] poiArray1=new myPoint[pp.pNumPoints];
poiArray1=pp.pmyPoints;
myPoint[] poiArray2=new myPoint[pp.pNumPoints+1];
for(int i=0;i
if(i
poiArray2[i]=poiArray1[i];
}
else{
poiArray2[i]=poiArray1[i+1];
}
}
Pointp pp1=new Pointp();
pp1.setPoints(poiArray2);
P.add(index, pp1);
}
}
myRepaint();
}
}
}
}