提供两种简单的解决方案,一种利用JPanel,另一种利用JLabel
1.JPanel(源代码)
package oo
import java.awt.Graphics
import java.awt.Image
import java.io.File
import javax.swing.ImageIcon
import javax.swing.JFrame
import javax.swing.JPanel
public class Drawing {
JFrame jframe = new JFrame()
public static JPanel GImage = null
public Drawing() {
initFrame()
}
// 初始化窗口
public void initFrame() {
// 利用JPanel添加背景图片
GImage = new JPanel() {
protected void paintComponent(Graphics g) {
ImageIcon icon = new ImageIcon("image\\benbenla.jpg")
Image img = icon.getImage()
g.drawImage(img, 0, 0, icon.getIconWidth(),
icon.getIconHeight(), icon.getImageObserver())
jframe.setSize(icon.getIconWidth(), icon.getIconHeight())
}
}
jframe.setTitle("测试背景图片")
jframe.add(GImage)
jframe.pack()
jframe.setVisible(true)
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
}
public static void main(String[] args) {
new Drawing()
}
}
2.JLabel源代码
package swing.draw
import java.awt.Image
import javax.swing.ImageIcon
import javax.swing.JFrame
import javax.swing.JLabel
public class Drawing2 {
JLabel jlpic = new JLabel()
JFrame jframe = new JFrame()
public Drawing2() {
init1Frame()
}
public void init1Frame() {
ImageIcon icon = new ImageIcon("image\\benbenla.jpg")
icon.setImage(icon.getImage().getScaledInstance(icon.getIconWidth(),
icon.getIconHeight(), Image.SCALE_DEFAULT))
System.out.println(icon.getIconHeight() + "" + icon.getIconWidth())
jlpic.setBounds(0, 0, 1366, 768)
jlpic.setHorizontalAlignment(0)
jlpic.setIcon(icon)
jframe.setSize(1366, 768)
jframe.add(jlpic)
jframe.pack()
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
jframe.setVisible(true)
}
public static void main(String args[]) {
new Drawing2()
}
}
要在JPanel中显示图片可以将一JLabel控件加入其中,在JLabel中添加图片,如:
JLabel lb = new JLabel(new ImageIcon(".\\xxx\\xx.jpg"))
jPanel1.add(lb)
应该可以,不知是否会答非所问?
package baidu.zhidao
import java.awt.BorderLayout
import java.awt.event.WindowAdapter
import java.awt.event.WindowEvent
import javax.swing.ImageIcon
import javax.swing.JFrame
import javax.swing.JLabel
import javax.swing.JPanel
/**
* 如何在JPanel中显示图片
* @author jink2005
*
*/
public class ImagePane extends JPanel
{
JLabel jl = null
ImageIcon img = null
/**
* @param args
*/
public ImagePane()
{
img = new ImageIcon("E:\\eclipse\\workspace\\Study\\baidu\\zhidao\\horse.jpg")
jl = new JLabel(img)
this.setLayout(new BorderLayout())
this.add(jl, BorderLayout.CENTER)
}
public static void main(String[] args)
{
JFrame test = new JFrame("Image Pane")
test.getContentPane().add(new ImagePane())
test.pack()
test.setVisible(true)
test.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0)
}
})
}
}
欢迎访问我的学习日志http://jink2005.blog.sohu.com/和我一起交流。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)