首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在JFrame.invalidate中调用pack()是个坏主意吗?

在JFrame.invalidate中调用pack()是一个不好的主意。

JFrame.invalidate()方法用于标记窗口的内容已经过期,需要重新绘制。而pack()方法用于根据窗口的内容重新计算窗口的大小。在JFrame.invalidate()中调用pack()可能会导致窗口的大小在每次重绘时都被重新计算,这可能会导致性能问题。

通常情况下,我们建议在需要重新计算窗口大小时才调用pack()方法,例如在添加或删除组件后。如果只是想标记窗口内容过期,可以直接调用JFrame.invalidate()方法,而不需要调用pack()。

总结起来,调用JFrame.invalidate()方法是合理的,但在该方法中调用pack()可能会引起性能问题,因此不建议这样做。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云云原生容器服务(TKE):https://cloud.tencent.com/product/tke
  • 腾讯云人工智能:https://cloud.tencent.com/product/ai
  • 腾讯云物联网平台(IoT Hub):https://cloud.tencent.com/product/iothub
  • 腾讯云移动开发平台(MTP):https://cloud.tencent.com/product/mtp
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云虚拟专用网络(VPC):https://cloud.tencent.com/product/vpc
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C语言ARM函数调用时,栈如何变化的?

子程序调用之间,可以将 r0-r3 用于任何用途。被调用函数返回之前不必恢复 r0-r3。---如果调用函数需要再次使用 r0-r3 的内容,则它必须保留这些内容。 2....如果被调用函数使用了这些寄存器,它在返回之前必须恢复这些寄存器的值。r11 栈帧指针 fp。 3. r12 内部调用暂时寄存器 ip。...在过程调用之间,可以将它用于任何用途。被调用函数返回之前不必恢复 r12。 4. 寄存器 r13 栈指针 sp。它不能用于任何其它用途。...sp 存放的值退出被调用函数时必须与进入时的值相同。 5. 寄存器 r14 链接寄存器 lr。如果您保存了返回地址,则可以调用之间将 r14 用于其它用途,程序返回时要恢复 6....先形参b入栈 8.形参a入栈 9.留空一地址作为fun返回值, 待后面返回时填入 10.fun返回地址入栈, 通常是main函数当前pc指针的下一 11.main函数的栈底地址入栈 12.pc指针跳转

14.1K84

HibernateSessionFactory线程安全的?Session线程安全的(两线程能够共享同一Session)?

SessionFactory对应Hibernate的一数据存储的概念,它是线程安全的,可以被多个线程并发访问。SessionFactory一般只会在启动的时候构建。...Session轻量级非线程安全的对象(线程间不能共享session),它表示与数据库进行交互的一工作单元。Session由SessionFactory创建的,在任务完成之后它会被关闭。...Session持久层服务对外提供的主要接口。Session会延迟获取数据库连接(也就是需要的时候才会获取)。...为了避免创建太多的session,可以使用ThreadLocal将session和当前线程绑定在一起,这样可以让同一线程获得的总是同一session。...Hibernate 3SessionFactory的getCurrentSession()方法就可以做到。

1.8K20
  • JSP页面调用另一JSP页面的变量

    https://blog.csdn.net/huyuyang6688/article/details/16896447          jsp学习,经常需要在一jsp页面调用另一jsp...i的值传到b.jsp:                       a.jsp页面的核心代码为:                            <a href="b.jsp?...name的值传送到b.jsp<em>中</em>:                       <em>在</em>a.jsp页面<em>中</em>的核心代码为:                            <%request.setAttribute...<em>在</em>a.jsp<em>中</em>的核心代码为:                              <em>中</em>的星号<em>是</em>表示对所有同名的属性赋值,当然还可以对属性选择性地赋值: <jsp:setProperty name="user

    7.7K52

    C++反射调用.NET(一) 反射调用第一.NET类的方法

    为什么要在C++调用.NET 一般情况下,我们常常会在.NET程序调用C/C++的程序,使用P/Invoke方式进行调用,在编写代码代码的时候,首先要导入DLL文件,然后根据C/C++的头文件编写特殊的....NET的需求,比如我们维护一大型的C++应用程序,它年代久远,现在需要增加一些新功能,而这些功能在.NET已经有了,只需要调用它即可,如果为了方便想要用.NET重写这个C++应用程序不太现实的...注意,本文说的C++反射调用,不是对C++自身进行封装的反射功能,而是C++/CLI代码反射调用.NET代码,原理上跟你.NET应用反射调用另外一.NET的程序集一道理。...C++,类的成员用 -> 符号调用,命名空间或者类的静态成员,用::调用,例如上面的构造函数的代码: Assembly^ ass = Assembly::LoadFrom(this->assemblyFile...C++/CLI中使用反射 反射调用第一.NET类的方法 下面的方法,将会反射调用 User类的一最简单的方法 : public int GetUserID(string IdString){} 该方法只有一参数和一简单的返回值

    3.2K100

    python接口测试:用例文件调用另一用例文件定义的方法

    简单说明 进行接口测试时,经常会遇到不同接口间传递参数的情况,即一接口的某个参数需要取另一接口的返回值; 平常写脚本过程,我经常会在同一py文件,把相关接口的调用方法都写好,这样同一文件能够很方便的进行调用...,需要调整很多地方; 所以,当我们用例py文件写好某个接口调用方法,后续如果在其他py文件也要用到这个接口的返回值,则直接引用先前py文件定义好的接口调用方法即可。...实例 接口功能说明: A接口--调用A接口可以生成一条数据,每条数据对应一id B接口--调用B接口可以返回一条数据的详情,但是调B接口时,需要一必要参数即数据id 1、新建一py...view_activity 的方法,它作用是查看数据详情 ; (3)第44行,创建一条查看活动数据详情的测试用例test_case_01; 接下来重点: 在这条用例下调用view_activity方法...,而view_activity方法有一必传参数id,这个id就是由test_A.py文件CreateActivity类下的 push_file_download 方法生成的; 所以这里要先调用

    2.9K40

    apk调用另外一apk的activity 博客分类: Android小技巧 AndroidCC++C#Web

    系统提供了很多可以直接调用的Activity,通过指定的Intent就可以调用,比如打开搜索的: Intent intent = new Intent(Intent.ACTION_WEB_SEARCH...intent.putExtra(SearchManager.QUERY,"searchString") startActivity(intent);      Intent.ACTION_WEB_SEARCH字符串...发送出这个intent之后,系统根据action字符串Intent.ACTION_WEB_SEARCH知道了调用哪个activity,如果有重名,会弹出一选择对话框。...首先,写一activity,AndroidManifest.xml里面的intent-filter,给这个activity命名, <action...而这个SearchManager.QUERY关键字。如果要自己实现这种功能,只需要定义好关键字,然后从BundleExtra取就行了。

    94220

    Shell 脚本调用另一 Shell 脚本的三种方式

    调用的脚本与父脚本同一 Shell 内执行。但是使用 exec 调用新脚本以后, 父脚本 exec 行之后的内容就不会再执行了。...这是 exec 和 source 的区别. source 与 fork 的区别是不新开一子 Shell 来执行被调用的脚本,而是同一 Shell 执行....所以被调用的脚本声明的变量和环境变量, 都可以主脚本中进行获取和使用。 其实从命名上可以感知到其中的细微区别,下面通过两脚本来体会三种调用方式的不同: 第一脚本,我们命名为 1.sh: #!...exec 同一 Shell 内执行,但是父脚本 exec 行之后的内容就不会再执行了 source 同一 Shell 执行,在被调用的脚本声明的变量和环境变量, 都可以主脚本中进行获取和使用...参考: shell脚本调用另一脚本的三种不同方法(fork, exec, source)

    4.3K20

    你知道Javafinal和static修饰的变量什么时候赋值的

    那就意味着只有static修饰的类变量才会在class文件对应的字段表加上ConstantValue属性? 答案是否定的。...类构造器方法赋值。 目前Oracle公司实现的Javac编译器的选择: final+static修饰:使用ConstantValue属性赋值。...仅使用static修饰:方法赋值。这个方法类加载的初始化阶段执行。...网上的博客不都是类加载的准备阶段会对普通类属性赋初始值,对带有ConstantValue的类属性直接赋值? 《深入理解Java虚拟机》也是这样说的啊? 书上错的?...但一很关键的点,虽然没在初始化阶段赋值,仍然调用方法之前赋值了。 外界不会观察到HotSpot VM提前做了这个初始化赋值的,所以是没问题的。

    1.8K20

    Java,BufferedReader 什么类啊,有什么作用啊

    如果缓冲区数据不足,才会再从文件读取,使用BufferedWriter时,写入的数据并不会先输出到目的地,而是先存储至缓冲区。如果缓冲区的数据满了,才会一次对目的地进行写出。 ...2、从标准输入流System.in中直接读取使用者输入时,使用者每输入一字符,System.in就读取一字符。...3、System.in位流,为了转换为字符流,可使用InputStreamReader为其进行字符转换,然后再使用BufferedReader为其增加缓冲功能。...可以文字模式下输入字符,程序会将输入的文字存储至指定的文件,如果要结束程序,输入quit字符串即可。...BufferedReaderWriterDemo { public static void main(String[] args) { try { //缓冲System.in输入流 //System.in位流

    1K10

    GaiaWorld公链,地址如何成功锻造一区块的?

    共识机制分布式系统的核心,P2P网络,互相不信任的节点通过遵循预设机制最终达到数据的一致性称为共识。...那么GaiaWorld公链设计的CPoS共识机制之下,一地址如何成功锻造一区块的呢?(锻造区块:类似于以太坊挖矿)。...锻造委员Gaia链一拥有创建区块权利的地址合集。...不难看出,Gaia链,投票权与保证金数量的正相关关系相比PoS机制特意降低过的,这样是为了激励更多锻造委员参与到区块锻造来,既能够保证小额锻造委员的锻造权益,也能够保证有更多节点主体参与到维护公链来...总结: 以上简单的描述了Gaia链中一地址如何加入锻造委员会,如何获得区块锻造权利的,但CPoS的设计细节远不止于此,并且还涉及到与加密算法、验证节点权益状态等技术的交叉,我们将在之后的文章中进行逐步的分析

    62130

    为什么深度学习,AlphaGo Zero巨大的飞跃?

    AlphaGo ZeroDeepMind的自动操作系统的最新化身。有人可能会认为,围棋击败人类世界冠军很难的。...该网络通过将自身与外部训练数据进行比较,而不是从先前版本的神经网络获得的合成数据来学习。 第四点之前的系统,它只需要4Google TPUs,而之前需要48TPUs。...因此,每一场游戏之后,一新的、潜在的改进的网络将被选中,以进行下一轮自我对弈。...AlphaGo Zero的案例,没有任何训练数据可以说明训练数据通过自我对弈产生的。例如,通过让两网络(鉴别器和生成器)协作工作改进了GANs的生成。...也就是说,一系列行为的结果没有不确定性,行为效果可以预测的。简而言之,博弈的行为可以预测的。 然而,许多真实的世界环境,我们仍然可以建立精确的虚拟世界。

    93980

    把模块有关联的放在一文件夹 python2调用文件夹名会直接失败 python3调用会成功,但是调用不能成功的解决方案

    把模块有关联的放在一文件夹 python2调用文件夹名会直接失败 python3调用会成功,但是调用不能成功 解决办法: 该文件夹下加入空文件__init__.py python2会把该文件夹整体当成一包.../或者类名也行] 再通过from . import 模块名 这样就可以调用那些模块功能了 #如果导入这个模块的方式 from 模块名 import * ,那么仅仅会导入__all__的列表包含的名字...举个栗子就清楚了: 当前我们有包名为TestMsg,里面文件如下: 1.文件夹__pycache__: __init__.cpython-35.pyc: 160d 0d0a 0072 f058 2d00...6573 744d 7367 2f73 656e 646d 7367 2e70 7974 0800 0000 3c6d 6f64 756c 653e 0100 0000 7300 0000 00 我们还有一文件名为

    1.7K50

    Python人工智能(AI)的优势,年薪百万互联网吹的泡沫

    讨论编程语言的优劣兴衰一直被认为口水战话题,被资深人士所不屑。但是我认为这次 Python 的上位一件大事。...比如说,任何一人,只要愿意学习,可以几天的时间里学会Python基础部分,然后干很多很多事情,这种投入产出比可能其他任何语言都无法相比的。...很 多时候,一程序库本身用 C/C++ 写的,但你会发现,直接使用 C 或者 C++ 去调用那个程序库,从环境配置到接口调用,都非常麻烦,反而隔着一层,用其python 包装库更加清爽整洁,又快又漂亮...相比之下,Python 现代编程语言设计和演化当中的一成功典范。 Python 之所以战略定位上如此清晰,战略坚持上如此坚定,归根结底是因为其社区构建了一堪称典范的决策和治理机制。...而 AI 的本质自学习、自组织的系统,其规模和复杂性数学模型在数据的喂养下自己长出来的,内生的。

    97150

    django admin配置搜索域外键时的处理方法

    Django admin 系统的搜索时可能会出现“related Field has invalid lookup: icontains”错误,主要原因外键查询需要指定相应的字段的。...外键不应该只是一model,而该是另一表的明确的一字段。 所以我们需要指定特定的字段 “本表外键字段__外键所在表需查询字段”。...Django定义了如下A,B两模型: class A: name=models.CharField(max_length=15) def __unicode__(self):...models.ForeignKey(A,on_delete=models.DO_NOTHING) def __unicode__(self): return self.name 注:我测试环境中使用的...admin配置搜索域外键时的处理方法就是小编分享给大家的全部内容了,希望能给大家一参考。

    3.8K20

    实现一JNI调用Java对象的工具类,从此一行代码就搞定!

    前言 我们知道jni执行一java函数需要调用几行代码才行,如 jclass objClass = (*env).GetObjectClass(obj); jmethodID methodID...因为模版函数实际上在编译时,根据调用的类型,拷贝生成多个具体类型的函数以便使用。 所以如果有这样的调用callMethod(...)...undefined reference to 使用模版函数出现这个问题,是因为没有将模版函数的实现写在头文件,只将模版函数的声明头文件,而在源文件实现的。...所以我们应该将模版函数的实现也写进头文件,而模版函数特例化则可以源文件实现,但是注意要include头文件。...返回值void类型 因为void的特殊性,所以如果当成泛型来处理会有很多问题,这里把返回值void类型的单独实现一函数即可。

    1.9K20
    领券