java jpanel 叠加_如何添加多个扩展JPanel到Java中的一个JFrame中?
我想要两个不同类的两个图像来扩展JPanel并排。
我遇到的问题是两个JPanel应该放在JFrame中,但是当我做framename.add(panel)时,它会替换另一个,而不是并排添加其中的两个。
我曾尝试在主类中添加flowlayout和其他布局,但没有任何图像出现。
所以我的问题是,如果我有两个扩展Jpanel的类,我如何将这两个面板添加到Jframe中,以便它们并排(彼此相邻)而不替换其他面板?
任何建议将不胜感激。
编辑:如果我将JFrame扩展到一个类,该类是否自动成为JPanel本身?我知道扩展意味着什么,但我不确定它如何在Jframe上工作。
Main.java
import javax.swing.*;
import java.awt.*;
import java.net.URL;
public class Main
{
public static void main(String[] args)
{
JFrame frame = new JFrame();
Panel1 s = new Panel1(); //picture 1
Panel2 n = new Panel2(); //picture 2
frame.add(n);
frame.add(s); //here is the problem, it replaces the previous panel
f.setSize(200,100);
f.setLocation(0,400);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}Panel1.java
import javax.swing.*;
import java.awt.*;
import java.net.URL;
public class image2 extends JPanel
{
ImageIcon anotherIcon;
public image2() //constructor
{
URL imageURL = Panel1.class.getResource("images/puppy.png");
anotherIcon = new ImageIcon(imageURL);
}
public void paint(Graphics g)
{
super.paintComponent(g);
anotherIcon.paintIcon(this, g, 0, 0);
}
}Panel2.java
import javax.swing.*;
import java.awt.*;
import java.net.URL;
public class Panel2 extends JPanel
{
ImageIcon anotherIcon2;
public Panel2() //constructor
{
URL imageURL = Panel2.class.getResource("images/puppy2.png");
anotherIcon = new ImageIcon(imageURL);
}
public void paint(Graphics g)
{
super.paintComponent(g);
anotherIcon2.paintIcon(this, g, 0, 0);
}
}
java jpanel 叠加_如何添加多个扩展JPanel到Java中的一个JFrame中?相关推荐
- java中把一个字符串中大写字母转换为小写,小写字母转换为大写
java中把一个字符串中大写字母转换为小写,小写字母转换为大写 观看提示: 这里提供2中思维,但是第一种是正确的,第二种是错误的:第二种的思维可以了解了解,但是需要注意的是如果某个字符串定义为Stri ...
- java循环输入_【图文+视频新手也友好】Java一维数组详细讲解(内含练习题答案+详解彩蛋喔~)...
[新手友好型视频+图文] 全面讲解Java一维数组(内含带答案和讲解的练习题彩蛋喔) 看完即上手!更有详解版练习题来帮你加深印象~~ 一.视频讲解 一维数组详解https://www.zhihu.co ...
- java idea 模块_使用IntelliJ IDEA搭建多maven模块JAVA项目
一.新建项目和模块 步骤: 1. 新建一个项目,因为maven管理jar包非常方便,故此处建立一个maven项目:New Project->Maven->(Create from arch ...
- java面试题_阿里大厂流出的数百道 Java 经典面试题
BAT 常问的 Java基础39道常见面试题 1.八种基本数据类型的大小,以及他们的封装类 2.引用数据类型 3.Switch能否用string做参数 4.equals与==的区别 5.自动装箱,常量 ...
- java 编写代码_如果您在2015年编写过Java代码-这是您不容错过的趋势
java 编写代码 去年我们有机会遇到的最有趣趋势的实用概述 在这篇文章中,我们回顾了构成我们2015年对话的5个主题和新发展.与其他许多年终总结保持较高水平的不同,我们将做一个更实际的操作不用流行语 ...
- java 实现超时_如何实现带有超时的Runnable? - java
我目前有一个相当简单的SSL服务器/客户端项目,其中涉及标准Java后端和Android前端.与客户端发送数据后,我想尝试从服务器读取响应.但是,我遇到了一个小问题.服务器并不总是响应,因此我不得不以 ...
- c++和java哪个好学_【技术科普】C语言和java语言有些什么区别?
C语言和java语言有些什么区别? 可以打个比方吧: C语言就像一个初创公司的老板,由于人少经费少,从技术.财务.市场等都需要自己管,经常把自己累的跟狗一样: Java语言就像一个上市大公司的老板,人 ...
- java jni编译_从源码编译Android系统的Java类库和JNI动态库的方法
利用源码编译Android系统Java类库 1.编写Java项目和Android.mk文件 ├── Android.mk └── src └── com └── lhw └── framework └ ...
- jmeter之java代码性能测试_松勤软件性能测试-自定义编写的Java测试代码在Jmeter中如何使用...
原标题:松勤软件性能测试-自定义编写的Java测试代码在Jmeter中如何使用 我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定 ...
最新文章
- 抖音出现大量“三岁用户”,马化腾李彦宏都被还童
- js设计模式每次10分钟:字面量和构造函数模式对比
- 什么是SSLP和ISSR?
- JAVA服务器没回应_Java Socket为什么服务器无法回复客户端
- vue全局引入openlayers_vue项目中openlayers绘制行政区划
- HNU 程序设计 飞机起飞时间安排
- Tensorlayer深度强化学习之Tensorlayer安装
- 服务器搭建centos7系统操作过程(使用系统盘搭建centos7系统)
- 三年程序员成功转型项目经理
- 计算机视觉项目-银行卡卡号自动识别
- 明源售楼系统技术解析(一)搭建MVC3框架
- 千万级数据查询中CK、ES、RediSearch方案的优化
- 关于微信表情及输入法emoji显示问题解决方案
- 可行解、最优解、基解、基可行解、基最优解
- 小程序开发-用户对自己信息的更改
- 【缓存】@Caching和@CacheConfig
- 刘军吉林大学计算机学院,刘桂霞-吉林大学计算机科学与技术学院
- Android 9-patch 九图的制作与使用
- A002-185-2537-翁格婉(个人期末作业)
- 半夜钱款莫名被转走!睡觉手机到底该不该关机?安全专家解读新型网络盗窃!...
热门文章
- C#连接Oracle中文乱码问题解决方法
- 解决Surface Pro外接移动硬盘经常睡眠的问题
- 终极解决方案——sbt配置阿里镜像源,解决sbt下载慢,dump project structure from sbt耗时问题
- zsh: command not found: 解决方法
- [python] 安装TensorFlow问题 解决Cannot uninstall ‘wrapt‘. It is a distutils installed project
- android通过点击播放视频,Android通过MediaPlayer实现播放视频实例
- win11 c4d如何安装 Windows11安装c4d的步骤方法
- vivado 亚稳态_VIVADO时序约束及STA基础
- python将csv文件拆分_在python中将一个csv拆分为多个文件
- 问答| 为什么四轮驱动机器人(SSMR)的质心(COM)没有横向分速度vy呢?