java有没有什么办法让按钮里显示gif

java有没有什么办法让按钮里显示gif,第1张

 完全可以,程序如下,这里把图片和程序放在一块,不放在一起的话。

代码Icon icon=new ImageIcon("1.gif")//要给出图片的完整的路径。

  图片资源:

import java.awt.*

import javax.swing.*

public class JFrameTest extends JFrame{

/**

* @param args

*/

private static final long serialVersionUID=1L

JFrameTest(String name){

super(name)

this.setSize(200, 200)//设置窗口大小。

this.setBackground(Color.DARK_GRAY)//设置背景颜色。

this.setLayout(new FlowLayout())//设置顺序布局。

Container con=this.getContentPane()//获取容器。

//设置按钮,为按钮添加图片。

Icon icon=new ImageIcon("1.gif")//根据路径取出图片。

JButton button=new JButton("带图片的按钮",icon)

con.add(button)//添加按钮。

this.setDefaultCloseOperation(DISPOSE_ON_CLOSE)//设置默认的关闭方式。

}

public static void main(String[] args) {

JFrameTest test=new JFrameTest("按钮")

      test.setVisible(true)

}

}

运行结果:

//注意:

//当前目录下要有一个p.jpg文件

//压缩这个文件使它的大小尽量小,最好只有几十KB

//否则无法显示背景图片

package java525

import java.awt.*

import java.awt.event.*

import javax.swing.*

public class MainWindow extends JFrame implements ActionListener {

JMenuBar menuBar//菜单条

JMenu menu1, menu2, menu3, menu4//菜单

JMenuItem m11, m12, m13//菜单项

JMenuItem m21, m22, m23

JMenuItem m31, m32, m33

JMenuItem m41, m42

Image pic

public static void main(String[] args) {

new MainWindow()

}

public MainWindow() {

pic=Toolkit.getDefaultToolkit().getImage("p.jpg")

MediaTracker t=new MediaTracker(this)

t.addImage(pic,1)

try

{

t.waitForID(1)

}

catch(Exception e)

{

}

//createMenu()

setTitle("学生管理系统")//设置窗口标题

setIconImage((new ImageIcon("icon.gif")).getImage())//设置图标

setSize(600, 400)//设置窗口大小

Dimension size = Toolkit.getDefaultToolkit().getScreenSize()//取屏幕大小

setLocation((size.width - getWidth()) / 2, (size.height - getHeight()) / 2)

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE)//设置关闭行为

setVisible(true)//使窗口可见

//this.setExtendedState(JFrame.MAXIMIZED_BOTH)

}

public void actionPerformed(ActionEvent e) {

}

public void paint(Graphics g) {

super.paint(g)

g.drawImage(pic,0,0,null)

}

}

import java.awt.*

import java.awt.event.*

import java.io.*

import javax.swing.*

public class ImageViewer

{

public static void main(String[] args)

{

JFrame frame = new ImageViewerFrame()

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

frame.show()

}

}

class ImageViewerFrame extends JFrame

{

public ImageViewerFrame()

{

setTitle("ImageViewer")

setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT)

label = new JLabel()

Container contentPane = getContentPane()

contentPane.add(label)

chooser = new JFileChooser()

chooser.setCurrentDirectory(new File("."))

JMenuBar menuBar = new JMenuBar()

setJMenuBar(menuBar)

JMenu menu = new JMenu("File")

menuBar.add(menu)

JMenuItem openItem = new JMenuItem("Open")

menu.add(openItem)

openItem.addActionListener(new

ActionListener()

{

public void actionPerformed(ActionEvent evt)

{

int r = chooser.showOpenDialog(null)

if(r == JFileChooser.APPROVE_OPTION)

{

String name

= chooser.getSelectedFile().getPath()

label.setIcon(new ImageIcon(name))

}

}

})

JMenuItem exitItem = new JMenuItem("Exit")

menu.add(exitItem)

exitItem.addActionListener(new

ActionListener()

{

public void actionPerformed(ActionEvent event)

{

System.exit(0)

}

})

}

private JLabel label

private JFileChooser chooser

private static final int DEFAULT_WIDTH = 300

private static final int DEFAULT_HEIGHT = 400

}


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

原文地址: http://outofmemory.cn/bake/11903122.html

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

发表评论

登录后才能评论

评论列表(0条)

保存