2011-11-09 4 views
3

は、だから私はScalaのコンパイラをコンパイルしようとしているが、私はこれが行わ取得しようと多くの問題を克服してきましたが、私は現在、quick.libで立ち往生していますScalaのコンパイラのビルドエラーJComboBoxのタイプパラメータ

これは、非常に混乱していますソースはスケーラチーム自身から直接取得されるため、コンパイルする必要があります。また、私が知っている古いバージョンを別の場所でコンパイルしてテストしましたが、同じエラーが発生します。

問題に関するヘルプや正しい方向への助言をいただければ幸いです。

quick.lib: 
[scalacfork] Compiling 103 files to C:\programming\scala\build\quick\classes\library 
[scalacfork] C:\programming\scala\src\swing\scala\swing\ComboBox.scala:162: error: class JComboBox takes type parameters 
[scalacfork] override lazy val peer: JComboBox = new JComboBox(ComboBox.newConstantModel(items)) with SuperMixin 
[scalacfork]       ^
[scalacfork] C:\programming\scala\src\swing\scala\swing\ComboBox.scala:123: error: trait ComboBoxModel takes type parameters 
[scalacfork] def newConstantModel[A](items: Seq[A]): ComboBoxModel = { 
[scalacfork]           ^
[scalacfork] C:\programming\scala\src\swing\scala\swing\ComboBox.scala:124: error: trait ComboBoxModel takes type parameters 
[scalacfork]  new AbstractListModel with ComboBoxModel { 
[scalacfork]        ^
[scalacfork] C:\programming\scala\src\swing\scala\swing\ComboBox.scala:134: error: type mismatch; 
[scalacfork] found : AnyRef 
[scalacfork] required: Nothing 
[scalacfork]  def getElementAt(n: Int) = items(n).asInstanceOf[AnyRef] 
[scalacfork]              ^
[scalacfork] C:\programming\scala\src\swing\scala\swing\ComboBox.scala:162: error: too many arguments for constructor Object:()Object 
[scalacfork] override lazy val peer: JComboBox = new JComboBox(ComboBox.newConstantModel(items)) with SuperMixin 
[scalacfork]           ^
[scalacfork] C:\programming\scala\src\swing\scala\swing\ListView.scala:32: error: trait ListCellRenderer takes type parameters 
[scalacfork]  def wrap[A](r: ListCellRenderer): Renderer[A] = new Wrapped[A](r) 
[scalacfork]     ^
[scalacfork] C:\programming\scala\src\swing\scala\swing\ListView.scala:27: error: class JList takes type parameters 
[scalacfork] def wrap[A](c: JList) = new ListView[A] { 
[scalacfork]    ^
[scalacfork] C:\programming\scala\src\swing\scala\swing\ListView.scala:145: error: class JList takes type parameters 
[scalacfork] override lazy val peer: JList = new JList with SuperMixin 
[scalacfork]       ^
[scalacfork] C:\programming\scala\src\swing\scala\swing\ListView.scala:37: error: trait ListCellRenderer takes type parameters 
[scalacfork] class Wrapped[A](override val peer: ListCellRenderer) extends Renderer[A] { 
[scalacfork]           ^
[scalacfork] C:\programming\scala\src\swing\scala\swing\ListView.scala:72: error: trait ListCellRenderer takes type parameters 
[scalacfork]  def peer: ListCellRenderer = new ListCellRenderer { 
[scalacfork]    ^
[scalacfork] C:\programming\scala\src\swing\scala\swing\ListView.scala:72: error: trait ListCellRenderer takes type parameters 
[scalacfork]  def peer: ListCellRenderer = new ListCellRenderer { 
[scalacfork]         ^
[scalacfork] C:\programming\scala\src\swing\scala\swing\ListView.scala:73: error: class JList takes type parameters 
[scalacfork]  def getListCellRendererComponent(list: JList, a: Any, index: Int, isSelected: Boolean, focused: Boolean) = 
[scalacfork]           ^
[scalacfork] C:\programming\scala\src\swing\scala\swing\ListView.scala:126: error: trait ListCellRenderer takes type parameters 
[scalacfork]  override lazy val peer: ListCellRenderer = new DefaultListCellRenderer 
[scalacfork]       ^
[scalacfork] C:\programming\scala\src\swing\scala\swing\ListView.scala:153: error: type mismatch; 
[scalacfork] found : AnyRef 
[scalacfork] required: Nothing 
[scalacfork]  def getElementAt(n: Int) = items(n).asInstanceOf[AnyRef] 
[scalacfork]             ^
[scalacfork] C:\programming\scala\src\swing\scala\swing\ListView.scala:195: error: too many arguments for constructor Object:()Object 
[scalacfork]  object indices extends Indices(peer.getSelectedIndices) { 
[scalacfork]     ^
[scalacfork] 15 errors found 

答えて

5

JDK7を使用していますか? 「問題」の1つは、JDK7がいくつかのSwing APIにジェネリックを追加したことです。これはscalaが動作する方法と互換性がありません。 JDK6を使用すると役立ちます。

これについてもう少しはで見つけることができます:https://groups.google.com/d/topic/scala-user/01CszZu8ga4/discussion

+0

私は二回、昨日これを自分自身に答えることを試みたが、それは私にはできないだろう。 JDK6に切り替えるという修正が出ています。正しい答えを得るための素晴らしい仕事ですが、昨夜ソートしました。ちょうどこのサイトが私自身の質問に素早く答えさせてくれることを望みます。今私は実際になぜそれを理解する。 – Blue42

+0

@ Blue42では、あなた自身の質問に答えるとポイントが緩みます;) – Johnydep

関連する問題