java中帶圖片按鈕的大小設置


在java部分需要用到圖形界面編程的項目中,經常會使用圖片設置對按鈕進行美化,但是使用時會出現一個很麻煩的問題,那就是按鈕的大小默認按照圖片的大小來顯示,這大大降低了界面的美觀程度;

 

按照方法:

JButton jb1 = new JButton();  
jb1.setBounds(0, 0, 25, 20);  
ImageIcon ii = new ImageIcon("images/xxx.png");  
jb1.setIcon(ii); 

但是,在修改完按鈕的大小后,按鈕還是沒有改變,這是因為我是對圖片沒有進行縮放

所以,修改為以下:

JButton jb1 = new JButton();  
jb1.setBounds(0, 0, 25, 20);  
ImageIcon ii = new ImageIcon("images/xxx.png");  
//根據按鈕大小改變圖片大小  
Image temp = ii.getImage().getScaledInstance(jb1.getWidth(), jb1.getHeight(), ii.getImage().SCALE_DEFAULT);  
ii = new ImageIcon(temp);  
jb1.setIcon(ii);  
jb1.setToolTipText("image");

修改為以上方法后,確實可以了,但是我上面有6個按鈕需要修該,難不成要一個一個該?那要是有100個我改咋辦?

這是我們就需要對以上的模塊進行封裝;(我的類是:JF_Notpad)

public static JButton changeIconSize(JButton button,String url,int width,int height,String tip){
        button.setBounds(0,0,width,height);
        ImageIcon buttonImg=new ImageIcon(url);
        //改變圖片的大小
        Image temp=buttonImg.getImage().getScaledInstance(button.getWidth(), button.getHeight(), buttonImg.getImage().SCALE_DEFAULT);
        button=new JButton(new ImageIcon(temp));
        button.setToolTipText(tip);    //提示
        
        return button;
    }

因為這里我的六個按鈕是要同樣大小的,我就將其大小設為靜態常量,通過此來改變按鈕的大小

調用如下:

create=new JButton();
create=JF_Notpad.changeIconSize(create, "img/notpad/news.png", BUTTONWIDTH, BUTTONWIDTH, "New");

最終效果:

當然大家可以將之前的模塊放在你自己工具類中,這樣方便以后調用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM