JPanel jp = new JPanel()//新建面板
jp.setLayout(new FlowLayout()) //设置面板布局
ImageIcon ii=new ImageIcon(getClass().getResource("/Picture/i.jpg"))
JLabel uppicture=new JLabel(ii)//往面板里加入JLabel
this.setVisible(true)
不知道你怎么加的。加背景图有很多种办法:- 加一个 JLabel,然后在 JLabel 上添加图片;
- 直接重写 paint 方法,然后用 drawImage(Image src, int x, int y, int width, int height) 方法画上去。
最大化的时候实际上是触发了窗口事件,添加窗口监听器,然后重写 windowResized() 方法,一旦窗口改变大小就重新计算尺寸,并调用 repaint 方法重绘。
================================= 给你一个例子 =================================
import javax.swing.JFileChooser
import javax.swing.JFrame
import javax.swing.JPanel
import javax.swing.JButton
import javax.swing.filechooser.FileNameExtensionFilter
import java.awt.Graphics
import java.awt.Toolkit
import java.awt.Image
import java.awt.event.WindowEvent
class BackgroundPanel extends JPanel {
private Toolkit tk = Toolkit.getDefaultToolkit()
private Image backgroundImage
private JButton btnExit = new JButton("Exit")
public BackgroundPanel (String imgFile) {
backgroundImage = tk.createImage(imgFile)
setLayout(null)
btnExit.setBounds(10, 10, 100, 25)
add(btnExit)
}
@Override public void paint (Graphics g) {
g.drawImage(backgroundImage, 0, 0, getWidth(), getHeight(), this)
paintComponents(g)
}
}
class DemoFrame extends JFrame {
public DemoFrame () {
super("Demo")
String fileName = null
JFileChooser fileChooser = new JFileChooser()
fileChooser.setDialogTitle("请选择一张背景图片")
fileChooser.setFileFilter(new FileNameExtensionFilter("图片文件(*.bmp, *.gif, *.jpg, *.jpeg, *.png)", "bmp", "gif", "jpg", "jpeg", "png"))
if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
fileName = fileChooser.getSelectedFile().getAbsolutePath()
if (fileName == null)
return
} else
return
setDefaultCloseOperation(EXIT_ON_CLOSE)
setSize(800, 600)
setLocationRelativeTo(null)
setContentPane(new BackgroundPanel(fileName))
setVisible(true)
}
}
public class Demo {
public static void main (String args[]) {
new DemoFrame()
}
}
这是我以前的一个小代码你可以看看public class demo_9 extends JFrame {
JSplitPane jsp = null
JList jlist
JLabel jlabel
public static void main(String[] args) {
demo_9 a = new demo_9()
}
public demo_9(){
String []words ={"boy","girl"}
JList jlist = new JList(words)
jlabel = new JLabel(new ImageIcon("Image//真三.gif")) //这里就是引入图片了
//拆分窗格
jsp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jlist,jlabel)
jsp.setDividerLocation(70)
//设置可以伸缩
jsp.setOneTouchExpandable(true)
this.add(jsp)
this.setTitle("test")
this.setSize(400,300)
this.setLocation(400,200)
this.setVisible(true)
}
}
步骤:首先先在project里新建个文件夹(Folder),然后把你要插入的图片复制黏贴到这个文件夹里面。
例如我那个引入的图片代码:jlabel = new JLabel(new ImageIcon("Image//真三.gif"))
我new一个folder叫Image,图片名称叫"真三.gif"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)