2016-09-15 28 views
0

私はJtableを持っています。最初の列である私のJtableでは、自分のディレクトリパスストアからイメージをテキストファイルにインポートすることができます。ImageIconのサイズを変更する

model.addRow(new Object[]{ 
         new ImageIcon(value[1]), 
         value[2], 
         value[0], 
         value[3], 
         value[4], 
         }); 

しかし、画像のサイズが大きすぎるため、画像の一部がテーブルの列の限られたスペースにしか表示されません。私は高さ= 100に画像のサイズを変更し、幅= 100

答えて

4

が最初にあなたのイメージをロードします、そして

Image scaledIm = orignalIm.getScaledInstance(100, 100, Image.SCALE_SMOOTH); 
ImageIcon icon = new ImageIcon(scaledIm); 

やアイコンのサイズを変更する

0

に別の描画ヒント値を使用するにはどうすればよい

簡単ではありません。画像の拡大縮小には、Javaのグラフィックス2Dを使用する必要があります。

private Image getScaledImage(Image srcImg, int w, int h){ 
BufferedImage resizedImg = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB); 
Graphics2D g2 = resizedImg.createGraphics(); 
    g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); 
    g2.drawImage(srcImg, 0, 0, w, h, null); 
    g2.dispose(); 

    return resizedImg; 
    } 
+0

最初のパラメータは、ImageIconクラスから簡単に取得できるImageクラスです。 ImageIconクラスを使用してイメージファイルをロードし、getterメソッドを呼び出してイメージを取得することができます。 –

関連する問題