java中的图形界面如何在JFrame中添加背景色及背景图片
Java窗口是指JFrame或者Frame
其次,窗口背景颜色是指直接调用JFrame或者Frame的setBackground(Color color)方法设置后显示出来的颜色。其实,JFrame的显示机制。在你直接调用这个方法后,你的确设置了背景颜色,而你看到的却不是直接的JFrame或者Frame,而是JFrame.getContentPane().而JFrame上的contentPane默认是Color.WHITE的,所以,无论你对JFrame或者Frame怎么设置背景颜色,你看到的都只是contentPane.
最后,讲解决办法:
办法A:在完成初始化,调用getContentPane()方法得到一个contentPane容器,然后将其设置为不可见,即setVisible(false)。这样,你就可以看到JFrame的庐山真面貌啦!
核心代码this.getContentPane().setVisible(false);//得到contentPane容器,设置为不可见
方法B:将contentPane的颜色设置为你想要的颜色,而不是对JFrame本身设置,
核心代码:this.getContentPane().setBackground(Color.red);//设置contentPane为红色
将核心代码替换方法A核心代码即可实现
方法C:为JFrame添加一个Panel或者JLabel等其他组件,设置其颜色为你想要的颜色,然后将其覆盖JFrame窗口即可
package com.tools; import java.awt.Color; import javax.swing.JFrame;
public class Test extends JFrame
{
public static void main(String[] args)
{
new Test();
}
public Test()
{
this.setSize(400,300);
this.setLocation(400,300);
this.setBackground(Color.blue);
this.getContentPane().setBackground(Color.red);
this.getContentPane().setVisible(false);//如果改为true那么就变成了红色。
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
import java.awt.*; import javax.swing.*;
public class Test extends JFrame
{
//创建一个容器
Container ct;
//创建背景面板。
BackgroundPanel bgp;
//创建一个按钮,用来证明我们的确是创建了背景图片,而不是一张图片。
JButton jb;
public static void main(String[] args)
{
new Test();
}
public Test()
{
//不采用任何布局方式。
ct=this.getContentPane();
this.setLayout(null);
//在这里随便找一张400*300的照片既可以看到测试结果。
bgp=new BackgroundPanel((new ImageIcon("images\\background.jpg")).getImage());
bgp.setBounds(0,0,400,300);
ct.add(bgp);
//创建按钮
jb=new JButton("测试按钮");
jb.setBounds(60,30,160,30);
ct.add(jb);
this.setSize(400,300);
this.setLocation(400,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
class BackgroundPanel extends JPanel
{
Image im;
public BackgroundPanel(Image im)
{
this.im=im;
this.setOpaque(true);
}
//Draw the back ground.
public void paintComponent(Graphics g)
{
super.paintComponents(g);
g.drawImage(im,0,0,this.getWidth(),this.getHeight(),this);
}
}
* 给JFrame 添加一个背景图案。
*/
package com.swingpractise;
import javax.swing.*; public class JFrameBackground4 extends JFrame
{
//创建一个JLayeredPane用于分层的。
JLayeredPane layeredPane;
//创建一个Panel和一个Label用于存放图片,作为背景。
JPanel jp;
JLabel jl;
ImageIcon image;
//创建一个按钮用于测试的。
JButton jb;
public static void main(String[] args)
{
new JFrameBackground4();
}
public JFrameBackground4()
{
layeredPane=new JLayeredPane();
image=new ImageIcon("images\\background.jpg");//随便找一张图就可以看到效果。
//创建背景的那些东西
jp=new JPanel();
jp.setBounds(0,0,image.getIconWidth(),image.getIconHeight()); jl=new JLabel(image);
// jl.setBounds(0,0,image.getIconWidth(),image.getIconHeight());
jp.add(jl);
//创建一个测试按钮
jb=new JButton("测试按钮");
jb.setBounds(100,100,100,100);
//将jp放到最底层。
layeredPane.add(jp,JLayeredPane.DEFAULT_LAYER);
//将jb放到高一层的地方
layeredPane.add(jb,JLayeredPane.MODAL_LAYER);
this.setLayeredPane(layeredPane);
this.setSize(image.getIconWidth(),image.getIconHeight());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(image.getIconWidth(),image.getIconHeight());
this.setVisible(true);
}
}
第二个程序和三个程序的窗体
java中的图形界面如何在JFrame中添加背景色及背景图片相关推荐
- java怎么开发图形界面_Java Swing 图形界面开发简介
1. Swing简介 Swing 是 Java 为图形界面应用开发提供的一组工具包,是 Java 基础类的一部分. Swing 包含了构建图形界面(GUI)的各种组件,如: 窗口.标签.按钮.文本框等 ...
- 【JAVA】基本图形界面设计
[JAVA]基本图形界面设计 基本知识点 JAVA中的组件包: 1:采用java.awt.*(abstract Windowing Toolkit) 2:采用javax.swing.* 特点: 前者: ...
- java开发之图形界面GUI初步-Swing几种常用组件及其应用
package test; import java.awt.*; import java.awt.event.KeyEvent; import javax.swing.*; /* * 作者:钟志钢 * ...
- linux命令界面下载kettle,kettle在linux环境中打开图形界面-Go语言中文社区
kettle在linux环境中打开图形界面 kettle数据转换的时候需要图形界面 当运行./spoon.sh时,如果没有图形界面,会出现下面的结果 ./spoon.sh [root@localhos ...
- 2021极术通讯-使用Arm-2D在Cortex-M芯片中实现图形界面
导读:极术通讯是极术社区每周定期推出的社区上的行业媒体和技术社区.咨询机构优质内容,分享产业技术趋势与市场应用热点. 芯方向 使用Arm-2D在Cortex-M芯片中实现图形界面 Arm高级嵌入式应用 ...
- 【公开课】如何使用Arm-2D在小资源Cortex-M处理器芯片中实现图形界面?
首发极术社区 如对Arm相关技术感兴趣,欢迎私信 aijishu20加入技术微信群. 分享内容 通过介绍如何为小资源Cortex-M处理器芯片(64K Flash, 4K~32 RAM)部署Arm-2 ...
- turbo c填充图形_C / C ++中的图形:Turbo C编译器中的简介和图形模式
turbo c填充图形 In this advanced learning tutorial, you will learn more about the C/C++ feature "Gr ...
- wordpress 背景_如何在WordPress中添加全屏背景图片
wordpress 背景 Full screen background image seems to be a new design trend that is becoming fashionabl ...
- java中的图形界面编辑界面_第58节:Java中的图形界面编程-GUI
欢迎到我的简书查看我的文集 前言: GUI是图形用户界面,在Java中,图形用户界面我们用GUI表示,而GUI的完整英文为: Graphical User Interface(图形用户接口), 所谓图 ...
最新文章
- 个人随笔——衰人自叙卷壹
- 滴滴开源支撑业务代码重构工具Rdebug
- IDEA中maven项目导jar包太慢
- ZYNQ AXI总线 PS与PL内部通信(用户自定义IP)
- Eclipse导入import sun.misc.BASE64Decoder报错的解决办法
- 2021-11-30
- android构建过程
- can通讯bdc_宝马总线K-CAN3和K-CAN4常见案例
- 2021中国企业招聘科技趋势报告
- 【word基础知识】word转pdf时出现空白页如何删除?
- ant a-table 树表格级联选择
- python3绝对路径,相对路径
- 2021-09-03Dien
- de4dot使用教程
- 基于jeesit下的工作流开发步骤
- 教你4种压缩PDF让文档快速变小的方法
- 熊猫直播显示连接服务器失败,熊猫直播提示加载失败,请按“菜单键”刷新解决办法...
- 提升电脑运行速度,10个秘笈,让你的win10飞起来
- 计算机格式化为ntfs,WinXP下怎么把U盘格式化成NTFS格式?XP下把U盘格式化成NTFS格式图文教程...
- EBS提交取消请求、请求集程序fnd_request
热门文章
- 面试个人自我评价总结
- 服务器维护后回档,心灵战争关于服务器异常产生的三种回档问题的处理办法公告...
- 最优化算法与matlab应用3:最速下降法
- POP3邮件下载附件
- python+opencv+selenium自动化登录邮箱并解决滑动验证
- android实现自动取消订单,android – 使用RemoteView自动取消自定义通知
- 百度索引量是什么意思?及如何提高索引量?
- Cannot execute replicated DDL query on leader
- java hybris_java – Hybris Entity未找到异常
- AUTOSAR汽车电子系统架构标准