0

.png ファイルを参照するファイル名でいっぱいのパネルとリストがあります。
次を使用して、そのリストの任意の単一インデックスの文字列を画像に変換できます。

val label = new Label {
  icon = new ImageIcon(myList(0))
}  

次に、そのラベルをパネルに追加できます。

object myGUI extends SimpleGUIApplication {
  def top = new MainFrame {
    title = "My simple GUI"
    contents += label
  }
}  

しかし、リスト内の各エントリのラベルを作成し、それらの各ラベルを myGUI に追加したい場合はどうすればよいでしょうか?

foreach またはその他の慣用的なスカラの概念を使用してそうしたいと思います。別のコレクション型の方が理にかなっている場合は、List を使用する必要はありません。ただし、私が理解しているように、コレクション処理関数は配列またはマップとリストの場合と同じであるため、コレクションの種類は重要ではありません (とにかく、この特定の GUI 関連の問題の範囲内で)

4

1 に答える 1

2

あなたの質問を正しく理解しているかどうかわかりませんが、これはうまくいきませんか?:

object myGUI extends SimpleGUIApplication {
  def top = new MainFrame {
    title = "My simple GUI"
      val list = ... //your list of filepaths
      list foreach { filepath =>
        contents += new Label { icon = new ImageIcon(filepath) }
      }    
  }
}  
于 2012-11-07T19:09:56.660 に答える