java button 里的图片怎么适应按钮大小?

java button 里的图片怎么适应按钮大小?,第1张

可以通过以下工具方法来实现图片的大小设置。\x0d\x0apublic void setIcon(String file, JButton iconButton) { \x0d\x0aImageIcon icon = new ImageIcon(file) \x0d\x0aImage temp = icon.getImage().getScaledInstance(iconButton.getWidth(), \x0d\x0aiconButton.getHeight(), icon.getImage().SCALE_DEFAULT) \x0d\x0aicon = new ImageIcon(temp) \x0d\x0aiconButton.setIcon(icon) \x0d\x0a} \x0d\x0a备注:file是图片的路径,iconButton是按钮的变量名。封装成一个函数就是可以实现了。

JButton有构造 方法

JButton(Icon icon)

创建一个带图标的按钮。

也有方法 public void setIcon(Icon defaultIcon)

public void setPressedIcon(Icon pressedIcon)

设置按钮的按下图标。

public void setSelectedIcon(Icon selectedIcon)

设置按钮的选择图标。

public void setRolloverIcon(Icon rolloverIcon)

设置按钮的翻转图标。

public void setRolloverSelectedIcon(Icon rolloverSelectedIcon)

设置按钮的翻转选择图标。

public void setDisabledIcon(Icon disabledIcon)

设置按钮的禁用图标。

public void setDisabledSelectedIcon(Icon disabledSelectedIcon)

设置按钮的禁用选择图标。

按钮只能是个矩形,按你是意思,应该是不显示按钮的边框,只显示图标是吧。

你可以设置按钮背景为透明,设置边框为null

but.setBackground(new Color(255,255,255)) //but是按钮名称

but.setBorder(null)//but是按钮名称

我刚写的一个点击按钮交替变换图标的程序,代码如下:

import java.awt.Color

import java.awt.Container

import java.awt.Cursor

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

import javax.swing.Icon

import javax.swing.ImageIcon

import javax.swing.JButton

import javax.swing.JFrame

//变换按钮图标

public class Button_Icon extends JFrame implements ActionListener{

private Container con

private JButton but

private Icon ic

public Button_Icon() {

this.setTitle("欢迎")

this.setBounds(200, 200, 200, 234)//标题栏高34

con=this.getContentPane()

con.setLayout(null)

Cursor cs=new Cursor(Cursor.HAND_CURSOR)

ic=new ImageIcon("j:\\Screenshot.png")

but=new JButton(ic)

but.setBounds(60, 70, 80, 60)

but.addActionListener(this)

but.setCursor(cs)

but.setBackground(new Color(255,255,255))

but.setBorder(null)

con.add(but)

this.setVisible(true)

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

}

public void actionPerformed(ActionEvent e) {

Icon ic2=but.getIcon()

if(ic2==null){but.setIcon(ic)}

else {but.setIcon(null)}

}

public static void main(String[] args) {

new Button_Icon()

}

}

你可以看下效果,看是不是你想要的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11553309.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存