I'm doing this University practice and I'm all stuck. I'm supposed to make a program to draw circles and lines. It has 3 packages, Evaluar(with the main class), Dibujo(with the drawing class) and Forma (with 4 class, The FATHER, forma, formabasica which inherits from Forma and Circulo&Linea which inherits from formaBasica.
Here is the main class:
package PaqueteAplicacion;
import PaqueteFormas.Forma;
import java.util.Scanner;
import PaqueteFormas.Circulo;
import PaqueteFormas.Linea;
public abstract class Evaluar {
public static void main (String[] args) {
//Creamos atributos para lo que graficaremos
Forma linea1;
Forma linea2;
linea1 = new Linea(); //PROBLEM HERE
linea2 = new Linea(1,1);//PROBLEM HERE
}
Eclipse's error "Cannot instantiate the type Linea", and I don`t know why its giving me this problem.
This is my Linea class, I'm having the same problem with Circulo.
package PaqueteFormas;
import java.util.Scanner;
import PaqueteGraficos.Dibujo;
public class Linea extends FormaBasica {
//Atributos
int numSegmentos;
public Linea(){
}
public Linea(int ejeX, int ejeY){
super(ejeX,ejeY);
}
public void cambiarTamano(int incrementoSegmentos){
numSegmentos = incrementoSegmentos;
}
public void paintComponent() {
Dibujo.dibujarLinea(ejeX, ejeY, numSegmentos);//More Problem ejeX cannot be resolved as a variable
}
}
If you need more information please let me know, Thank you!
Sorry I'm new in StackOverflow so if my post is not correct please tell me.
I added the rest of the Java classes from my project: This is the FATHER: Forma's class:
package PaqueteFormas;
public abstract class Forma {
//Añadimos atributos
private int x,y;
public Forma()
{
this.x = 1;
this.y = 1;
}
public Forma( int ejeX, int ejeY) {
this.x = ejeX;
this.y = ejeY;
}
//Establece la edición atributo
public void setX(int ejeX) {
x = ejeX;
}
public void setY(int ejeY) {
y = ejeY;
}
public int getX() {
return x;
};
public int getY() {
return y;
};
public void moverEjeX(int variacionEnX) {
x += variacionEnX;
}
public void moverEjeY(int variacionEnY) {
y += variacionEnY;
}
public abstract void paintComponent();
public abstract void cambiarTamano (int variacionTamano);
}
Heritage's class from Forma:
package PaqueteFormas;
public abstract class FormaBasica extends Forma {
public FormaBasica(){//Constructor por defecto
super(1,1);
}
public FormaBasica(int ejeX, int ejeY){//Constructor pasando los atributos
super(ejeX,ejeY);
}
}
The other class' heritage from FormaBasica
package PaqueteFormas;
import java.util.Scanner;
import PaqueteGraficos.Dibujo;
public class Linea extends FormaBasica {
int numSegmentos;
public Linea(){
}
public Linea(int ejeX, int ejeY){
super(ejeX,ejeY);
}
public void cambiarTamano(int incrementoSegmentos){
numSegmentos = incrementoSegmentos;
}
public void paintComponent() {
Dibujo.dibujarLinea(ejeX, ejeY, numSegmentos);
}
}