2013-10-29 2 views
0
public class FrameViewer 
{ 

    String csvName = "none"; 
    public static void main(String[] args)throws IOException 
    { 
     System.out.println("Which file would you like to open?" + " A - asia.csv" + " B - europe.csv" + " C - africa.csv"); 
     Scanner input = new Scanner(System.in); 
     String csvName = input.next(); 

     if (csvName.equals("A")) 
      csvName = "asia.csv"; 
     else if (csvName.equals("B")) 
      csvName = "europe.csv"; 
     else if (csvName.equals("C")) 
      csvName = "africa.csv"; 
     else 
      System.out.println("You havent chosen a file."); 

여기에서 나는 캔버스가 만들어 졌을 때 CountryComponent 클래스가 만들어 졌을 때 내부에서 만들어진 선택으로부터 내부에 문제가 생겼다는 가정하에 갔다. CountryComponent 메서드를 사용했지만 그럴 필요가 없습니다.자바, 다중 클래스 인스턴스 변수 참조하기

메신저 나는 지금 당장 분실했습니다. getData 메서드에 매개 변수로 선택을 전달하려고했는데, 선택 자체를 전달하는 방법을 알아 내지 못했습니다. 오류

문제가 될 수 있으므로 구성 요소 클래스의 인스턴스 변수 csvName에 남아 있습니다. 하지만 idk, 그것은 그것 없이는 컴파일하자.

 JFrame frame = new JFrame(); 
     frame.setSize(750, 650); 
     frame.setTitle("Country Data"); 
     CountryComponent canvas = new CountryComponent(); 
     frame.add(canvas); 
     frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); 
     frame.setVisible(true); 
    } 
} 

Component 클래스

이 내가 잘 마지막 시도가 이루어 필자가 실제로 표시 얻을 수있는 정보를 시도하고 얻기 위해 20 개의 다른 것들처럼 시도 뭘하려
public class CountryComponent extends JComponent 
{ 

    // instance variables 

    String csvName; 

    public void CountryComponent()throws IOException 
    { 

     getData(); 

    } 

    public void getData()throws IOException 
    { 
     ... 

.

public void CountryComponent(String test)throws IOException 
{ 
    String csv = test; 
    getData(csv); 

} 

public void getData(String csv1)throws IOException 
{ 
    try 
    { 
     csvName = csv1; 
     File csvFile = new File(csvName); 

컴파일하지만 FrameViewer 클래스에서이 라인은 에러 • constructorvoid없이이어야한다

CountryComponent canvas = new CountryComponent(csvName); 

답변

0

을 준. 반환 유형이 없습니다.

public CountryComponent() throws IOException 
{ 
... 
} 

public CountryComponent(String test) throws IOException { 
... 
} 
+0

지금 당장 나는 멍청한 느낌이 들었습니다. 아무 것도 돌려주지 않았기 때문에 필요하다고 생각했기 때문에 나는 그 곳을 떠났습니다. 정보를 검색하기 위해 다른 방법을 호출했습니다. –