2014-10-24 16 views
5

AbstractTableModel'i genişleten bir iç sınıfa sahibim.import -> 'sembolü bulamıyor' | tam nitelikli ad -> mükemmel

import javax.swing.table.AbstractTableModel; 

public class MyClass extends MyAbstractClass { 
    ... 
    public static class MyTableModel extends AbstractTableModel { 
    } 
    ... 
} 

Derleyici bana aşağıdaki hatayı veriyor.

...\MyClass.java:190: error: cannot find symbol 
     public static class MyTableModel extends AbstractTableModel { 
               ^
    symbol: class AbstractTableModel 
    location: class MyClass 

MyTableModel extends javax.swing.table.AbstractTableModel 

her şeyi

MyTableModel extends AbstractTableModel 

değişen çalışıyor.

Projeyi oluşturmak için Gradle'ı kullanıyorum. Gradle'a geçmeden önce, projeyi oluşturmak için Eclipse'i kullandım. Eclipse ile ilgili bir sorunum olmadı, yalnızca Gradle ile oluşturursam hata oluşur.

Bu garip davranışların sebebi ne olabilir?

cevap

4

Hata, siparişlerimden kaynaklandı. MyTableModel, MyClass.java tarafından da içe aktarılan bir MyTableListener arabirimi içerir. AbstractTableModel ithalat Gradle sembol hata bulamıyorum bana verir önce MyTableListener ithalat koymak

import MyClass.MyTableModel.MyTableListener; ... import javax.swing.table.AbstractTableModel; ... public class MyClass extends MyAbstractClass { ... public static class MyTableModel extends AbstractTableModel { public interface MyTableListener { public void entryChanged(); } ... } ... } 

.

MyTableListener öğelerini içe aktarmadan önce AbstractTableModel içe aktarma yöntemini içe aktardığımda her şey iyi çalışıyor.

Şimdiye kadar çok iyi, ancak Eclipse ile oluştururken ithalat siparişi neden sorun değil ?!

+0

Vay, bunun için teşekkürler. Tutulma projemi içe aktarmaya çalıştım ve aynı sorunu keşfettim. Düzeltme işler. İthalat beyanının bitimine kadar sadece MyClass. – httpdispatch

+0

Aynı şey, dış sınıfın ebeveyninin iç sınıfların ebeveynlerinden sonra ithal edildiği yerdi. Gradle sürüm 3.3'ü kullanma. Geri geldi ve soruyu cevapladığın için teşekkürler! – Aarjav

İlgili konular