2016-04-30 11 views
0

こんにちはImageIconのサイズをJButtonに合わせるにはどうすればいいですか?これを使用するために、今すぐImageIconのサイズをJButtonに合わせる

private static Icon resizeIcon(ImageIcon icon, int resizedWidth, int resizedHeight) { 
    Image img = icon.getImage(); 
    Image resizedImage = img.getScaledInstance(resizedWidth, resizedHeight, java.awt.Image.SCALE_SMOOTH); 
    return new ImageIcon(resizedImage); 
} 

:私はあなたが単にあなたのプロジェクトに少し方法を追加することで、このようにそれを行うことができますボタン

JFrame frame2 = new JFrame("Tauler Joc"); 
JPanel panell = new JPanel(); 
ImageIcon icon = new ImageIcon("king.jpg"); 
JButton jb= new JButton(icon); 
jb.setBounds(200,200,700,700); 
panell.add(jb); 
frame2.add(panell); 
frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
+0

イメージアイコンのサイズを700pxで700pxに変更する場合は、サイズ変更イメージの詳細についての検索 – Blip

+0

[this](http://stackoverflow.com/questions/11959758/java-maintaining -aspect-ratio-of-jpanel-background-image/11959928#11959928)と[this](http://stackoverflow.com/questions/14115950/quality-of-image-after-resize-very-low-java/ 14116752#14116752) – MadProgrammer

答えて

1

のサイズにイメージアイコンの大きさを調整したいですあなたのコード例で方法:

JFrame frame2 = new JFrame("Tauler Joc"); 
JPanel panell = new JPanel(); 
ImageIcon icon = new ImageIcon("king.jpg"); 
JButton jb= new JButton(); 
jb.setBounds(200,200,700,700); 
panell.add(jb); 

// Set image to size of JButton... 
int offset = jb.getInsets().left; 
jb.setIcon(resizeIcon(icon, jb.getWidth() - offset, jb.getHeight() - offset)); 

frame2.add(panell); 
frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

あなただけの画像と無境界がちょうど0にオフセット変数を設定するか、完全にオフセット変数を取り除くしたい場合。

+0

[Image.getScaledInstance()の危険性](https://today.java.net/pub/a/today/2007/04/03/perils-of-image-getscaledinstance.html) – MadProgrammer

関連する問題