zoukankan      html  css  js  c++  java
  • 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");

    最终效果:

    当然大家可以将之前的模块放在你自己工具类中,这样方便以后调用。

  • 相关阅读:
    PAT乙级1014.福尔摩斯的约会 (20)(20 分)
    PAT乙级1013.数素数
    PAT乙级1012.数字分类 (20)(20 分)
    PAT乙级1011.A+B和C (15)(15 分)
    PAT乙级1025.反转链表 (25)
    PAT乙级1020.月饼(20)
    PAT乙级1015.德才论(25)
    PAT乙级1010.一元多项式求导(25)
    PAT乙级1009.说反话(20)
    PAT乙级1008.数组元素循环右移问题(20)
  • 原文地址:https://www.cnblogs.com/feiquan/p/9116483.html
Copyright © 2011-2022 走看看