Изображение Scala Swing - PullRequest
       13

Изображение Scala Swing

10 голосов
/ 22 апреля 2011

Как загрузить и отобразить изображение в компоненте Scala Swing?

Ответы [ 2 ]

13 голосов
/ 22 апреля 2011

Я обычно использую Label с ImageIcon для этого ... как:

val label = new Label {
  icon = new ImageIcon("path to the image file")
}
9 голосов
/ 22 апреля 2011

Вот реализация ImagePanel, которая расширяет Panel

import swing._                                                                

import java.awt.image.BufferedImage                                           
import java.io.File                                                           
import javax.imageio.ImageIO                                                  

class ImagePanel extends Panel                                                
{                                                                             
  private var _imagePath = ""                                                 
  private var bufferedImage:BufferedImage = null                              

  def imagePath = _imagePath                                                  

  def imagePath_=(value:String)                                               
  {                                                                           
    _imagePath = value                                                        
    bufferedImage = ImageIO.read(new File(_imagePath))                        
  }                                                                           


  override def paintComponent(g:Graphics2D) =                                 
  {                                                                           
    if (null != bufferedImage) g.drawImage(bufferedImage, 0, 0, null)         
  }                                                                           
}                                                                             

object ImagePanel                                                             
{                                                                             
  def apply() = new ImagePanel()                                              
} 

Scala Использование:

object ImagePanelDemo extends SimpleSwingApplication
{

  def top = new MainFrame {
    title = "Image Panel Demo"

    contents = new ImagePanel
    {   
      imagePath = ("../testImage.jpg")
    }   
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...