Вопросы Новичка
В проекте создал новую папку Graph (помимо src), в которой разместил 4 класса (все public);
Один из классов является "главным" - содержит функцию main, внутри которой вызываются методы трех остальных классов из той же папки.
В командной строке три не главных класса отлично компилируются, но четвертый "главный" класс не компилируется, а выдает ошибки:
Цитата:
cannot find symbol
symbol: class Rect1
new Rect1(25);
^
и еще 2 аналогичные ошибки с именами соответствующих классов.
В чем же ошибка? Все классы и файлы .java находятся в одной папке. Файл же %имя_главного_класса%.ckass создать не удается.
Спасибо.
а заодно и код главного класса.
Выложи код всех четырех классов (лучше полный, если там много кода - тела методов можно выкинуть) и точную структуру директорий.
Цитата:
package MyGraph;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Graphic extends JFrame{
Graphic(String s){
super(s);
setLayout(null);
setSize(120,200);
setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setResizable(false);
Button sin = new Button("Sin");
sin.setBounds(5, 20, 100, 25);
add(sin);
Button cos = new Button("Cos");
cos.setBounds(5, 70, 100, 25);
add(cos);
Button x2 = new Button("Parabola");
x2.setBounds(5, 120, 100, 25);
add(x2);
sin.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
new Sinus("Sine");
}
});
cos.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
new Cosinus("Cosine");
}
});
x2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
new X2("Parab");
}
});
}
public static void main(String[] args) {
new Graphic("Graphbuilder");
}
}
3 остальных класса:
Цитата:
package MyGraph;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
public class Sinus extends JFrame{
Sinus(String s){
super(s);
setLayout(null);
setSize(600,300);
setVisible(true);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
this.setResizable(false);
this.setLocation(100, 100);
}
public void paint(Graphics gr){
int y; int j=0; int k=0;
gr.setColor(Color.WHITE);
gr.fillRect(0, 0, 600, 300);
gr.setColor(Color.lightGray);
while(j<600){
gr.drawLine(j, 0, j, 300);
j+=30;
}
while(k<300){
gr.drawLine(0, k, 600, k);
k+=30;
}
gr.setColor(Color.BLACK);
gr.drawLine(300, 0, 300, 300);
gr.drawLine(0, 150, 600, 150);
gr.drawLine(120, 140, 120, 160);
gr.drawLine(480, 140, 480, 160);
gr.drawString("0", 305, 165);
gr.drawString("-"+"\u03c0", 125, 140);
gr.drawString("\u03c0", 485, 140);
gr.setColor(Color.RED);
for(double i=0;i<1000;i++){
y=(int)(80*Math.sin(Math.PI*i/180));
gr.drawLine((int)i-240, y+150, (int)i-240, y+150);
}
gr.dispose();
}
}
Цитата:
package MyGraph;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
public class Cosinus extends JFrame{
Cosinus(String s){
super(s);
setLayout(null);
setSize(600,300);
setVisible(true);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
this.setResizable(false);
this.setLocation(200, 200);
}
public void paint(Graphics gr){
int y; int j=0; int k=0;
gr.setColor(Color.WHITE);
gr.fillRect(0, 0, 600, 300);
gr.setColor(Color.lightGray);
while(j<600){
gr.drawLine(j, 0, j, 300);
j+=30;
}
while(k<300){
gr.drawLine(0, k, 600, k);
k+=30;
}
gr.setColor(Color.BLACK);
gr.drawLine(300, 0, 300, 300);
gr.drawLine(0, 150, 600, 150);
gr.drawLine(120, 140, 120, 160);
gr.drawLine(480, 140, 480, 160);
gr.drawString("0", 305, 165);
gr.drawString("-"+"\u03c0", 125, 140);
gr.drawString("\u03c0", 485, 140);
gr.setColor(Color.RED);
for(double i=0;i<1000;i++){
y=(int)(80*Math.cos(Math.PI*i/180));
gr.drawLine((int)i-240, y+150, (int)i-240, y+150);
}
gr.dispose();
}
}
Цитата:
package MyGraph;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
public class X2 extends JFrame{
X2(String s){
super(s);
setLayout(null);
setSize(600,300);
setVisible(true);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
this.setResizable(false);
this.setLocation(300, 300);
}
public void paint(Graphics gr){
int y; int j=0; int k=0;
gr.setColor(Color.WHITE);
gr.fillRect(0, 0, 600, 300);
gr.setColor(Color.lightGray);
while(j<600){
gr.drawLine(j, 0, j, 300);
j+=50;
}
while(k<300){
gr.drawLine(0, k, 600, k);
k+=50;
}
gr.setColor(Color.BLACK);
gr.drawLine(300, 0, 300, 300);
gr.drawLine(0, 150, 600, 150);
gr.drawString("0", 305, 165);
gr.setColor(Color.RED);
for(double i=0;i<1000;i++){
y=-(int)(i*i/300)+150;
gr.drawLine((int)i+300, y, (int)i+300, y);
gr.drawLine(-(int)i+300, y, -(int)i+300, y);
}
gr.dispose();
}
}
Проект Hello находится в папке P:\Hello, внутри этой папки есть папки:
src - здесь другие классы; bin и еще я добавил папку MyGraph, внутри которой находятся Sinus.java ; Cosinus.java ; X2.java ; Graphic.java и то, что удалось откомпилировать Sinus.class ; Cosinus.class ; X2.class;
Не удается откомпилировать Graphic.java
Что интересно - если расположить все эти классы в папке src, то все работает!