Java程序怎样导入图片

Python012

Java程序怎样导入图片,第1张

图片名字是img1.JPG,你放到本程序的目录下面就好了。

import java.awt.*

import java.awt.event.*

import java.awt.image.*

import java.io.*

import javax.imageio.*

import javax.swing.*

public class TestMenu1 extends JFrame{

private JTextArea textArea=new JTextArea()

private JMenuBar menuBar=new JMenuBar()

private JMenu fileMenu=new JMenu("文件")

private JMenu viewMenu=new JMenu("视图")

private JMenu toolMenu=new JMenu("工具栏")

private JMenuItem[] fileItem={new JMenuItem("新建"),new JMenuItem("打开"),new JMenuItem("保存"),new JMenuItem("退出")}

private JMenuItem[] viewItem={new JMenuItem("普通"),new JMenuItem("页面")}

private JCheckBoxMenuItem[] toolItem={new JCheckBoxMenuItem("常用"),new JCheckBoxMenuItem("绘图"),new JCheckBoxMenuItem("符号栏")}

private JPanel jPanel1

private JLabel jLabel

private Image image

private ImageIcon imageIcon

public TestMenu1(String title){

super(title)

jPanel1=new JPanel()

image = Toolkit.getDefaultToolkit().getImage("img1.JPG")

jLabel = new JLabel()

imageIcon = new ImageIcon(image)

jLabel.setIcon(imageIcon)

add(jLabel, BorderLayout.NORTH)

add(jPanel1, BorderLayout.SOUTH)

setVisible(true)

setSize(600, 600)

ActionListener actListener=new ActionListener(){

public void actionPerformed(ActionEvent e){

if(((JMenuItem)e.getSource()).getText()=="退出"){

System.exit(0)

}else{

textArea.setText(((JMenuItem)e.getSource()).getText())

}

}

}

ItemListener itemListener=new ItemListener(){

public void itemStateChanged(ItemEvent e){

String str=new String("")

for(int i=0i<toolItem.lengthi++){

if(toolItem[i].isSelected()){

str+=toolItem[i].getText()+"\n"

}

}

if(str.length()==0){

textArea.setText("没有复选")

}else{

textArea.setText(str)

}

}

}

for(int i=0i<fileItem.lengthi++){

fileItem[i].addActionListener(actListener)

fileMenu.add(fileItem[i])

if(i==2){

fileMenu.addSeparator()

}

}

for(int i=0i<viewItem.lengthi++){

viewItem[i].addActionListener(actListener)

viewMenu.add(viewItem[i])

}

viewMenu.addSeparator()

viewMenu.add(toolMenu)

for(int i=0i<toolItem.lengthi++){

toolItem[i].addItemListener(itemListener)

toolMenu.add(toolItem[i])

}

menuBar.add(fileMenu)

menuBar.add(viewMenu)

setJMenuBar(menuBar)

add(new JScrollPane(textArea))

}

public static void main(String[] args){

//TestMenu frame=

new TestMenu1("DEMO")

//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

//frame.setSize(300,180)

//frame.setVisible(true)

}

}

1)文件要有后缀名

2)要用Image或BufferedImage对象

3)因为你重写了paint()方法,所以不能在Label里面显示图片。你重写了paint()方法后,整个容器都会变成画布,所以看不到Label组件,自然也就看不到图片。应该在paint方法里面用g.drawImage方法把图片在画布中画出来。参考Java API,Graphics的drawImage方法。