Java,JFrame中添加了两个JPanel,可是两个JPanel却有一条空隙。怎么把空隙去掉?

Java,JFrame中添加了两个JPanel,可是两个JPanel却有一条空隙。怎么把空隙去掉?,第1张

我不知道你的程序是怎么写的,根据现象我判断可能是你把图片所在的JLabel直接加到了JPanel中,这样加图片,因为JPanel的布局默认是流布局FlowLayout所以会有空隙.

你把两个JPanel的布局都设为边界布局BorderLayout,然后把JLabel加到边界布局的中心BorderLayout.CENTER,就应该没有空隙了.

要在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)

}

})

}

}


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

原文地址: https://outofmemory.cn/bake/11904273.html

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

发表评论

登录后才能评论

评论列表(0条)

保存