JFrame放置背景图片

2024-02-25 18:32
文章标签 放置 jframe 背景图片

本文主要是介绍JFrame放置背景图片,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

为了给JFrame放置背景图片可以使用JLayeredPane,这是一个分层的面板,它一共分了七层,我们在这里只需要使用其中的两层就可以实现放置背景图片,下面一层放背景图片,上面一层放控件,另外需要注意的是,使用了JLayeredPane之后只能使用控件的setBounds()方法来设置大小和位置,如果不设置的话,将不会显示出来加进去的控件,代码如下:
LayeredFrame.java

package swing;import java.awt.BorderLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JLayeredPane;
import javax.swing.JPanel;
import javax.swing.JTextField;public class LayeredFrame extends JFrame{/*** 分层panel*/private JLayeredPane layeredPane;/*** 放置背景图片的panel* 放置在下层*/private JPanel backPane;/*** 组件放置在上层*/private JButton button;/*** 组件放置在上层*/private JTextField text;/*** 放置内容的面板*/private JPanel componentPane;/*** 放置图片的label*/private JLabel labelImage;public LayeredFrame() {// 获取图片ImageIcon imageIcon= new ImageIcon("resource\\swing.png");layeredPane = new JLayeredPane();//设置JFrame的JLayeredPanethis.setLayeredPane(layeredPane);labelImage = new JLabel(imageIcon);backPane = new JPanel();backPane.add(labelImage);//将内容面板加入JLayeredPane最下层layeredPane.add(backPane, JLayeredPane.DEFAULT_LAYER);//JLayeredPane中只能使用setBounds放置设置位置,没有LayoutManagerbackPane.setBounds(0, 0, imageIcon.getIconWidth(), imageIcon.getIconHeight());labelImage.setBounds(0, 0, imageIcon.getIconWidth(), imageIcon.getIconHeight());componentPane = new JPanel();//为componentpanel设置布局管理器componentPane.setLayout(new BorderLayout());//将componentPanel加入JLayeredPane中上面一层layeredPane.add(componentPane, JLayeredPane.MODAL_LAYER);//使用setBounds为componentPane设置位置和大小componentPane.setBounds(20, 20, 300, 100);text = new JTextField();componentPane.add(text, BorderLayout.NORTH);button = new JButton("text");componentPane.add(button, BorderLayout.SOUTH);//setOpaque()方法设置为false,那么没有添加组件的地方将不会绘制出来//会显示下面一层的内容componentPane.setOpaque(false);this.setSize(imageIcon.getIconWidth(), imageIcon.getIconHeight());this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.setVisible(true);}public static void main(String[] args) {new LayeredFrame();}}

效果如下:
这里写图片描述

这篇关于JFrame放置背景图片的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/746330

相关文章

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

cocos2d-x Android实现广告条竖立放置

 2:实现 原理:将屏幕设置为竖屏,然后CCDirector::setDeviceOrientation()设置为cocos2d-x为横屏。            在这种转屏模式下,控件是不会旋转的 缺点:所有Android原生控件仍然是竖立的 注意事项: ccTouchesBegan,ccTouchesMoved, ccTouchesEnded传入的坐标值仍然是屏幕坐标

CSS学习6--背景图片、颜色、位置、附着、简写、透明、缩放、多背景、凹凸文字、导航栏例子

CSS背景 一、背景颜色和图片二、背景位置三、背景附着四、背景简写五、背景透明六、背景缩放七、多背景八、凹凸文字九、导航栏例子 一、背景颜色和图片 background-color: pink; 背景颜色backgroundoimage: url(##.jpg); 背景图片background-repeat: 平铺 repeat-x横向平铺,repeat-y纵向平铺; 平铺不到

C#自定义控件的放置与拖动

1、自定义控件 using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Drawing.Drawing2D;using System.Linq;using System.Text;using System.Threading

【vue css】background设置背景图片不显示问题

问题: 如上图所示,添加背景图片页面没有显示 解决: 添加background-position: center center 即可显示 但是不知道为什么添加这个属性就可以,求大神解惑

EPLAN中手动放置线号的方法

EPLAN中手动放置线号的方法 如下图所示,点击插入---------连接定义点, 如果没有显示红色的"", 点击键盘上的backspace键,然后如下图所示,选择CDP即可显示,点击确定, 选择需要放置线号的导线,如下图所示,鼠标选中后放置在合适位置, 放置完成后,设置线号的名称等属性信息,

4、Swing在JPanel中添加背景图片方法

4、Jpanel面板中加载背景图片 在实际应用Java做界面的过程中,常常会涉及到加载背景图片以使页面美化。下面整理了一个小模块以便于调用。 1 package com.tntxia.commonswing.panel; 2 3 import java.awt.*; 4 import javax.swing.JPanel; 5 6 /** 7 * 有背

div既有背景图片又要有背景颜色怎么做?

背景颜色(background-color)放在后面,背景图片(background: url())放在前面 即 效果如下 看,是不是又有背景图片又有背景颜色了

visual studio 2013设置背景图片

设置方法很简单:安装扩展ClaudiaIDE 1、在这里下载扩展,https://visualstudiogallery.msdn.microsoft.com/9ba50f8d-f30c-4e33-ab19-bfd9f56eb817 2、然后双击即可完成安装。 该插件的背景萌妹子图片位置在: C:\Users{Username}\AppData\Local\Microsoft\Visu

【Simulink】使用简化机械臂系统动力学的抓取和放置任务及轨迹调度

abbSavedConfigs.mat 文件中的配置 文件中保存了多个关节角度配置,每个配置对应不同的机器人操作步骤。这些配置通常用于控制机器人在执行任务时的各个关键姿态和动作。 各个配置的功能解释: configSequence (18x7 double): 功能: 包含了机器人执行任务的关节角度序列。这是一个 18 行 7 列的矩阵,每列对应于机器人的一个特定姿态或操作步骤。通常用于