我想要两个不同类的两个图像来扩展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中?相关推荐

  1. java中把一个字符串中大写字母转换为小写,小写字母转换为大写

    java中把一个字符串中大写字母转换为小写,小写字母转换为大写 观看提示: 这里提供2中思维,但是第一种是正确的,第二种是错误的:第二种的思维可以了解了解,但是需要注意的是如果某个字符串定义为Stri ...

  2. java循环输入_【图文+视频新手也友好】Java一维数组详细讲解(内含练习题答案+详解彩蛋喔~)...

    [新手友好型视频+图文] 全面讲解Java一维数组(内含带答案和讲解的练习题彩蛋喔) 看完即上手!更有详解版练习题来帮你加深印象~~ 一.视频讲解 一维数组详解https://www.zhihu.co ...

  3. java idea 模块_使用IntelliJ IDEA搭建多maven模块JAVA项目

    一.新建项目和模块 步骤: 1. 新建一个项目,因为maven管理jar包非常方便,故此处建立一个maven项目:New Project->Maven->(Create from arch ...

  4. java面试题_阿里大厂流出的数百道 Java 经典面试题

    BAT 常问的 Java基础39道常见面试题 1.八种基本数据类型的大小,以及他们的封装类 2.引用数据类型 3.Switch能否用string做参数 4.equals与==的区别 5.自动装箱,常量 ...

  5. java 编写代码_如果您在2015年编写过Java代码-这是您不容错过的趋势

    java 编写代码 去年我们有机会遇到的最有趣趋势的实用概述 在这篇文章中,我们回顾了构成我们2015年对话的5个主题和新发展.与其他许多年终总结保持较高水平的不同,我们将做一个更实际的操作不用流行语 ...

  6. java 实现超时_如何实现带有超时的Runnable? - java

    我目前有一个相当简单的SSL服务器/客户端项目,其中涉及标准Java后端和Android前端.与客户端发送数据后,我想尝试从服务器读取响应.但是,我遇到了一个小问题.服务器并不总是响应,因此我不得不以 ...

  7. c++和java哪个好学_【技术科普】C语言和java语言有些什么区别?

    C语言和java语言有些什么区别? 可以打个比方吧: C语言就像一个初创公司的老板,由于人少经费少,从技术.财务.市场等都需要自己管,经常把自己累的跟狗一样: Java语言就像一个上市大公司的老板,人 ...

  8. java jni编译_从源码编译Android系统的Java类库和JNI动态库的方法

    利用源码编译Android系统Java类库 1.编写Java项目和Android.mk文件 ├── Android.mk └── src └── com └── lhw └── framework └ ...

  9. jmeter之java代码性能测试_松勤软件性能测试-自定义编写的Java测试代码在Jmeter中如何使用...

    原标题:松勤软件性能测试-自定义编写的Java测试代码在Jmeter中如何使用 我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定 ...

最新文章

  1. 抖音出现大量“三岁用户”,马化腾李彦宏都被还童
  2. js设计模式每次10分钟:字面量和构造函数模式对比
  3. 什么是SSLP和ISSR?
  4. JAVA服务器没回应_Java Socket为什么服务器无法回复客户端
  5. vue全局引入openlayers_vue项目中openlayers绘制行政区划
  6. HNU 程序设计 飞机起飞时间安排
  7. Tensorlayer深度强化学习之Tensorlayer安装
  8. 服务器搭建centos7系统操作过程(使用系统盘搭建centos7系统)
  9. 三年程序员成功转型项目经理
  10. 计算机视觉项目-银行卡卡号自动识别
  11. 明源售楼系统技术解析(一)搭建MVC3框架
  12. 千万级数据查询中CK、ES、RediSearch方案的优化
  13. 关于微信表情及输入法emoji显示问题解决方案
  14. 可行解、最优解、基解、基可行解、基最优解
  15. 小程序开发-用户对自己信息的更改
  16. 【缓存】@Caching和@CacheConfig
  17. 刘军吉林大学计算机学院,刘桂霞-吉林大学计算机科学与技术学院
  18. Android 9-patch 九图的制作与使用
  19. A002-185-2537-翁格婉(个人期末作业)
  20. 半夜钱款莫名被转走!睡觉手机到底该不该关机?安全专家解读新型网络盗窃!...

热门文章

  1. C#连接Oracle中文乱码问题解决方法
  2. 解决Surface Pro外接移动硬盘经常睡眠的问题
  3. 终极解决方案——sbt配置阿里镜像源,解决sbt下载慢,dump project structure from sbt耗时问题
  4. zsh: command not found: 解决方法
  5. [python] 安装TensorFlow问题 解决Cannot uninstall ‘wrapt‘. It is a distutils installed project
  6. android通过点击播放视频,Android通过MediaPlayer实现播放视频实例
  7. win11 c4d如何安装 Windows11安装c4d的步骤方法
  8. vivado 亚稳态_VIVADO时序约束及STA基础
  9. python将csv文件拆分_在python中将一个csv拆分为多个文件
  10. 问答| 为什么四轮驱动机器人(SSMR)的质心(COM)没有横向分速度vy呢?