java jframe 设置背景图片_Java怎么给JFrame添加背景图片
2016-07-10 21:55连丽芳 客户经理
不知道你怎么加的。加背景图有很多种办法:
- 加一个 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&qu梗厂盾断墉登堕券乏猾ot;, "jpg", "jpeg", "png"));
if (fi......余下全文>>
2016-07-10 21:49齐文生 客户经理
给窗体添加了背景,不会影响往背景上拖按钮 标签的。
添加背景代码如下:
一个例子:
import java.awt.FlowLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class bj {
private JFrame frame = new JFrame("背景图片测试");
private JPanel imagePanel;
private ImageIcon background;
public static void main(String[] args) {
new bj();
}
public bj() {
background = new ImageIcon("C:\\Users\\xin.wen\\Pictures\\2.jpg");// 背景图片
JLabel label = new JLabel(background);// 把背景图片显示在一个标签里面
// 把标签的大小位置设置为图片刚好填充整个面板
label.setBounds(0, 0, background.getIconWidth(),
background.getIconHeight());
// 把内容窗格转化为JPanel,否则不能用方法setOpaque()来使内容窗格透明
imagePanel = (JPanel) frame.getContentPane();
imagePanel.setOpaque(false);
// 内容窗格默认的布局管理器为BorderLayout
imagePanel.setLayout(new FlowLayout());
imagePanel.add(new JButton("测试按钮"));
frame.getLayeredPane().setLayout(null);
// 把背景图片添加到分层窗格的最底层作为背景
frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(background.getIconWidth(), background.getIconHeight());
frame.setResizable(false);
frame.setVisible(true);
}
}...余下全文>>
2016-07-10 21:46黄相森 客户经理
java在JFrame上画东西,主要是使用paint方法,代码如下:
import java.awt.Color;import java.awt.Graphics;import javax.swing.JFrame;import javax.swing.JPanel;public class Draw extends JFrame{JPanel jPanel=new JPanel();public Draw() { jPanel.setBackground(Color.red); add(jPanel); Drawation drawaction=new Drawation();//添加画图,把上面jpanel的设置给覆盖了;要是先添加画图再添加 add(drawaction); //jpanel则把画图覆盖了 }public static void main(String[] args){ Draw draw=new Draw(); draw.setTitle("abc"); draw.setSize(300,300); draw.setVisible(true); draw.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}class Drawation extends JPanel{ public void paintComponent(Graphics g){ super.paintComponents(g); g.drawString("agagh", 50, 45); }} 运行结果如下:
2016-07-10 21:43赖鹏博 客户经理
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.sw穿矗扁匪壮睹憋色铂姬ing.JFrame;
import javax.swing.JLabel;
public class T extends JFrame {
JButton ok, no;
JLabel r8 = new JLabel(new ImageIcon("picture.jpg"));
T() {
setLayout(new BorderLayout());
ok = new JButton("ok");
no = new JButton("no");
add(r8);
r8.setLayout(new FlowLayout());
r8.add(ok);
r8.add(no);
pack();
setLocation(100, 90);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
T splashWindow = new T();
}
}
你原来那种方法是想用 JLabel来做背景图片
可是JLabel和JButton是同级的,怎么能够覆盖
可以用JLabel作为容器,因为它从container继承
所以直接往JLabel中添加组件即可
热心网友
2016-07-10 21:40齐晓娴 客户经理
//不就是在窗口上设置一个背景图片么?怎么那么多不同的声音?
//代码如下 运行就看到结果了,你准备好个图片 放到当前路径里就可以了
import java.util.*;
import javax.swing.*;
public class Test extends JFrame {
private JPanel pan;
private JLabel labName;
private JTextField tfName;
private JLabel labPass;
private JPasswordField tfPass;
private JButton butConfirm;
private ImageIcon ii;
private JLabel lab;
Test(){
this.setBounds(200, 200, 300, 200);
pan = new JPanel();
labName = new JLabel("用户名");
tfName = new JTextField(20);
labPass = new JLabel("密 码");
tfPass = new JPasswordField(20);
butConfirm = new JButton("SAVE");
pan.add(labName);
pan.add(tfName);
pan.add(labPass);
pan.add(tfPass);
pan.add(butConfirm);
ii = new ImageIcon("1.jpg");//你只需要把这里的图片1.jpg给改了就可以了
lab = new JLabel(ii);
lab.setBounds(0, 0,ii.getIconWidth(), ii.getIconHeight());
this.getLayeredPane().setLayout(null);
this.getLayeredPane().add(lab, new Integer(Integer.MIN_VALU笭长蒂短郦的垫痊叮花E));
this.setContentPane(pan);
pan.setOpaque(false);
this.setVisible(true);
}
public static void main(String args[]){
new Test();
}
}
2016-07-10 21:37辛国清 客户经理
//不就是在窗口上设置一个背景图片么?怎么那么多不同的声音?
//代码如下 运行就看到结果了,你准备好个图片 放到当前路径里就可以了
import java.util.*;
import javax.swing.*;
public class Test extends JFrame {
private JPanel pan;
private JLabel labName;
private JTextField tfName;
private JLabel labPass;
private JPasswordField tfPass;
private JButton butConfirm;
private ImageIcon ii;
private JLabel lab;
Test(){
this.setBounds(200, 200, 300, 200);
pan = new JPanel();
labName = new JLabel("用户名");
tfName = new JTextField(20);
labPass = new JLabel("密 码");
tfPass = new JPasswordField(20);
butConfirm = new JButton("SAVE");
pan.add(labName);
pan.add(tfName);
pan.add(labPass);
pan.add(tfPass);
pan.add(butConfirm);
ii = new ImageIcon("1.jpg");//你只需要把这里的图片1.jpg给改了就可以了
lab = new JLabel(ii);
lab.setBounds(0, 0,ii.getIconWidth(), ii.getIconHeig梗姬盾肯墉厩堕询乏墨ht());
this.getLayeredPane().setLayout(null);
this.getLayeredPane().add(lab, new Integer(Integer.MIN_VALUE));
this.setContentPane(pan);
pan.setOpaque(false);
this.setVisible(true);
}
public static void main(String args[]){
new Test();
}
}
2016-07-10 21:34龚峻梅 客户经理
添加背景图片,以前给别人答的,你看一下。
java jframe 设置背景图片_Java怎么给JFrame添加背景图片相关推荐
- java 窗体添加背景图片_Java Swing实现窗体添加背景图片的2种方法详解
本文实例讲述了java Swing实现窗体添加背景图片的2种方法.分享给大家供大家参考,具体如下: 在美化程序时,常常需要在窗体上添加背景图片.通过搜索和测试,发现了2种有效方式.下面分别介绍. 1. ...
- 利用伪元素给图片在鼠标悬停时添加背景图片
利用伪元素给图片在鼠标悬停的时候添加背景图片,这种效果在电影网站上使用的比较频繁,主要是鼠标悬停的时候显示出播放的图标,点击图片链接后就会进入视频详情页面,而使用伪元素是为了使我们的html代码更加简 ...
- java 如何添加背景图片_JAVA界面设计怎么插入背景图片?
展开全部 可以利用标签组件来设置. 具体方法如下: 利用标签组件来设置,具体代码如下: JPanelpnlMain=new JPanel(); //创建面板pnlMain. getContentPan ...
- java实现一个gui面板_JAVA GUI自定义JPanel画板背景
自定义JPanel面板背景 一.前言 1.GUI全称是Graphical User Interface,就是图形用户界面.JAVA的GUI应用广泛在我们生活中也很常见.很多应用使用该GUI编程设计,像 ...
- 简历背景图片设置html代码,怎么在简历中添加背景图片
在简历中添加背景图片的方法二 步骤1.在菜单栏选择图片->自来文件->选择图片后->确定; 步骤2.选图片->右键-->设置图片格式->版式->衬于文字下方; ...
- java pdf添加图片水印图片_Java 在PDF中添加文本水印、图片水印(基于Spire.Cloud.SDK for Java)...
Spire.Cloud.SDK for Java提供了接口pdfWartermarkApi可用于添加文本水印addTextWartermark()和图片水印addImageWartermark()到P ...
- java oracle 图片_JAVA读取Oracle中的blob图片字段并显示
JAVA读取Oracle中的blob图片字段并显示 近期,在给客户做一个Demo页面时,需要用JAVA读取Oracle中的blob图片字段并显示,在此过程中,遇到一些问题,例如:连接Oracle数据库 ...
- 如何给HTML文件加一张背景图,如何在css中添加背景图?
在前端开发过程中,为了页面的美观,往往都会给html页面添加背景图片.那么如何利用css设置html中用图片做背景?本章就给大家介绍css怎样设置背景图片. css background属性就是专门设 ...
- java单击按钮切换图片_JAVA点击按钮改变背景图片 跪求代码·
展开全部 // 不加包,图片跟类文件在62616964757a686964616fe4b893e5b19e31333262383634一个目录,命令行下编译执行就行了 // 如果建工程,图片放到工程根 ...
- java jframe显示图片_java怎么在JFrame中显示动态图片
java怎么在JFrame中显示动态图片 (2012-09-16 23:39:54) 标签: 杂谈 import java.awt.Graphics; import javax.swing.Image ...
最新文章
- 巧用 maxTimeMS 服务端超时,避免承载亿级用户的腾讯云数据库MongoDB服务雪崩
- c4d流体插件_(图文+视频)C4D野教程:TFD、XP和RF三大流体插件协作案例
- sd卡有多个android文件夹,android - 如何adb拉出SD卡中存在的文件夹的所有文件
- web 前端常用组件【04】Datetimepicker 和 Lodop
- 国内首款 FPGA 云服务器,性能是通用 CPU 服务器 30 倍以上
- asp.net页面加载时间计算
- ffmpeg命令分析-acc
- 交通银行一直显示服务器繁忙,交通银行信用卡人工服务一直繁忙
- Android自定义View-一个可可爱爱的波浪特效
- 数据结构 严慰敏(C语言版第2版)【习题答案】
- THREEJS - 旋转中心调整
- 耳机断线了怎么修 耳机头部断线了如何修4线修复的方法
- Note for Linux
- Winpcap 动态链接库调用npf.sys
- Oracle具体表赋权给某用户
- 日剧《女王的教室》资源赏析
- 性能监控命令vmstat详解【杭州多测师】【杭州多测师_王sir】
- ISP图像对齐(二):Deep Image Homography Estimation
- 【LeetCode】487. Max Consecutive Ones II 解题报告 (C++)
- 《 如果让我重新读次研究生》——王泛森院士