JFileChooser에서 파일을 가져 와서 BufferedImage
을 읽고 JLabels을 삽입하여 표시하고 있지만 이미지가 JLabels에 완전히 표시되지 않는 문제가 있습니다. 이 코드를 실행하면 다음은 사용자가 선택한 이미지를 보여줍니다하지만 그들은 종류의 자동 croped 및 JLabels에 완전히 표시되지 않는, 내 코드BufferedImage가 JLabel에서 전체 이미지를 표시하지 않는 이유는 무엇입니까?
public class ImagePreview
{
JPanel PicHolder= new JPanel();
public ImagePreview()
{
JButton GetImages = new JButton("Browse Images");
GetImages.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent evt)
{
CreatePreviews();
};
});
PicHolder.add(GetImages);
JFrame MainFrame = new JFrame("Image Preview");
MainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MainFrame.getContentPane().add(PicHolder);
MainFrame.pack();
MainFrame.setVisible(true);
}
public void CreatePreviews()
{
JFileChooser chooser = new JFileChooser();
chooser.setMultiSelectionEnabled(true);
File[] selectedCarImages = chooser.getSelectedFiles();
for(int a=0; a<selectedImages.length; a++)
{
try
{
BufferedImage myPicture = ImageIO.read(new File(selectedImages[a].getAbsolutePath()));
JLabel picLabel = new JLabel(new ImageIcon(myPicture));
PicHolder.add(picLabel);
}
}
}
public static void main(String[] args)
{
java.awt.EventQueue.invokeLater(() -> {
new ImagePreview();
});
}
}
입니다.
여기에 무슨 문제가 있습니까? JLabel이 전체 이미지를 표시하지 않는 이유는 무엇입니까?
'하는 JButton GetImages = 새로운하는 JButton ("이미지 검색을") : 시험으로
속성 이름)을 사용하고 일관되게 사용하십시오. –
아마 그 믹스 어딘가에'JScrollPane'이있을 것입니다. –