私は、フォルダ内の画像を取得し、それらをサムネイルとして表示して、個別に選択および操作できるようにするアプリケーションに取り組んでいます。以下は、それらをJtogglebuttonsに追加するコードです。
toglBtn=new JToggleButton(""+i,new ImageIcon(ImageIO.read(new File(listOfFiles[i].getAbsolutePath())).getScaledInstance(139, 163, BufferedImage.SCALE_SMOOTH)));
フォルダ内の元の画像は100kb未満ですが、Jtogglebuttonのサイズは6mbです。これらのサイズを縮小する方法はありますか?現在、すべてのヒープスペースを占有し、40を超えるファイルがあるとメモリ不足エラーが発生します。ヒープサイズをすでに512MBに増やしましたが、MATでヒープダンプを分析した後、このエラーを解決するには、サムネイルサイズを小さくする必要があると考えました。
サムネイルを強制的にjpegにする方法はありますか?またはjtogglebuttonsにサムネイルを追加する他の方法はありますか?
最終更新:thumbnailatorを使用して、ボタンのサイズを数kbに縮小しました
try{
BufferedImage originalImage = ImageIO.read(new File(listOfFiles[i].getAbsolutePath()));
Image image =Thumbnails.of(originalImage).size(138, 163).asBufferedImage();
toglBtn=new JToggleButton(""+i,new ImageIcon(image));
}