本文的目的是介绍JavaSwing:为什么必须调整框架的大小,以便可以显示已添加的组件的详细情况,特别关注java为什么要用框架的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个
本文的目的是介绍Java Swing:为什么必须调整框架的大小,以便可以显示已添加的组件的详细情况,特别关注java为什么要用框架的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解Java Swing:为什么必须调整框架的大小,以便可以显示已添加的组件的机会,同时也不会遗漏关于C:未初始化的inttypes的大小,那么必须是、golang框架的定制配置:如何根据需求调整框架的设置?、Highchart在初始加载时无法显示正确的大小,仅在React js中调整窗口大小时会重新调整大小、ios – 核心数据:为什么必须调用重新加载数据才能使我的应用程序正常工作?的知识。
本文目录一览:- Java Swing:为什么必须调整框架的大小,以便可以显示已添加的组件(java为什么要用框架)
- C:未初始化的inttypes的大小,那么必须是
- golang框架的定制配置:如何根据需求调整框架的设置?
- Highchart在初始加载时无法显示正确的大小,仅在React js中调整窗口大小时会重新调整大小
- ios – 核心数据:为什么必须调用重新加载数据才能使我的应用程序正常工作?
Java Swing:为什么必须调整框架的大小,以便可以显示已添加的组件(java为什么要用框架)
我有一个简单的Swing
GUI。(不仅如此,我编写的所有摆动GUI都如此)。运行它时,它没有显示任何内容,只有空白屏幕,直到我调整了主框架的大小,所以每个组件都重新绘制了一次,然后我才能显示它们。
这是我的简单代码:
public static void main(String[] args) { JFrame frame = new JFrame("JScroll Pane Test"); frame.setVisible(true); frame.setSize(new Dimension(800, 600)); JTextArea txtNotes = new JTextArea(); txtNotes.setText("Hello World"); JScrollPane scrollPane = new JScrollPane(txtNotes); frame.add(scrollPane);}
所以,我的问题是:当我开始上课时,框架将如何显示我添加的所有组件,而不是在调整框架大小之前。
谢谢 :)
答案1
小编典典不要添加组件
JFrame
后JFrame
是可见的(setVisible(true)
)调用
setSize()
框架而不是调用并不是一种很好的做法pack()
(原因是JFrame
将其大小调整为适合其子组件的首选大小和布局),然后LayoutManager
处理该大小。使用EDT(事件调度线程)
呼叫
JFrame#setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
由@Gilbert勒布朗(+1给他),否则你说EDT /初始线程将保持活动状态,即使以后JFrame
一直 关闭
像这样:
public static void main(String[] args) { //Create GUI on EDT Thread SwingUtilities.invokeLater(new Runnable() { @Override public void run() { JFrame frame = new JFrame("JScroll Pane Test"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JTextArea txtNotes = new JTextArea(); txtNotes.setText("Hello World"); JScrollPane scrollPane = new JScrollPane(txtNotes); frame.add(scrollPane);//add components frame.pack(); frame.setVisible(true);//show (after adding components) } });}
C:未初始化的inttypes的大小,那么必须是
未初始化的intvariables将被放置到.bss节。
但是,如果我添加这样一个variables – size的bss部分长度的结果变得更大8字节,而不是4 – 为什么这样?
这里是一个例子:
有一个未初始化的整数:
按回车键不用确认
getenv(“cc”)返回NULL,为什么?
具有参数和STDOUTredirect的Windows任务计划程序作业
为什么不接受()阻塞?
如何并行运行function?
#include <stdio.h> int a; //int b; int main () { printf("A size: %dn",sizeof(a)); // printf("B size: %dn",sizeof(b)); return 0; }
size的结果:
$ gcc int_szie.c -o int_szie $ size int_szie text data bss dec hex filename 1483 536 8 2027 7eb int_szie
取消注释b var – 现在bss是16个字节:
... int a; int b; int main () { printf("A size: %dn",sizeof(a)); printf("B size: %dn",sizeof(b)); return 0; ...
$ gcc int_szie.c -o int_szie $ size int_szie text data bss dec hex filename 1628 592 16 2236 8bc int_szie
sizeof()结果:
$ ./int_szie A size: 4 B size: 4
我甚至不敢问为什么data部分在整个56个字节上变得更大:
数据536
VS:
数据592
gcc :
$ gcc --version gcc (GCC) 7.1.1 20170630
高级文件typesguesser
协议缓冲区 – 生成非内联访问器
我如何启动资源pipe理器使用c#中的进程类
相同的fd可以用于select读取和写入
如何与VBO绘制三angular形?
我运行了相同的代码,只是添加了long long b 。 代码如下所示:
#include <stdio.h> int a; long long b; int main () { printf("A size: %dn",sizeof(b)); return 0; }
objdump输出如下:
mdeore@mdeore-Lenovo:~$ objdump -t ./a.out ./a.out: file format elf64-x86-64 SYMBOL TABLE: 0000000000400238 ld .interp 0000000000000000 .interp 0000000000400254 ld .note.ABI-tag 0000000000000000 .note.ABI-tag 0000000000400274 ld .note.gnu.build-id 0000000000000000 .note.gnu.build-id 0000000000400298 ld .gnu.hash 0000000000000000 .gnu.hash 00000000004002b8 ld .dynsym 0000000000000000 .dynsym 0000000000400318 ld .dynstr 0000000000000000 .dynstr 0000000000400358 ld .gnu.version 0000000000000000 .gnu.version 0000000000400360 ld .gnu.version_r 0000000000000000 .gnu.version_r 0000000000400380 ld .rela.dyn 0000000000000000 .rela.dyn 0000000000400398 ld .rela.plt 0000000000000000 .rela.plt 00000000004003c8 ld .init 0000000000000000 .init 00000000004003f0 ld .plt 0000000000000000 .plt 0000000000400420 ld .plt.got 0000000000000000 .plt.got 0000000000400430 ld .text 0000000000000000 .text 00000000004005c4 ld .fini 0000000000000000 .fini 00000000004005d0 ld .rodata 0000000000000000 .rodata 00000000004005e0 ld .eh_frame_hdr 0000000000000000 .eh_frame_hdr 0000000000400618 ld .eh_frame 0000000000000000 .eh_frame 0000000000600e10 ld .init_array 0000000000000000 .init_array 0000000000600e18 ld .fini_array 0000000000000000 .fini_array 0000000000600e20 ld .jcr 0000000000000000 .jcr 0000000000600e28 ld .dynamic 0000000000000000 .dynamic 0000000000600ff8 ld .got 0000000000000000 .got 0000000000601000 ld .got.plt 0000000000000000 .got.plt 0000000000601028 ld .data 0000000000000000 .data 0000000000601038 ld .bss 0000000000000000 .bss 0000000000000000 ld .comment 0000000000000000 .comment 0000000000000000 l df *ABS* 0000000000000000 crtstuff.c 0000000000600e20 l O .jcr 0000000000000000 __JCR_LIST__ 0000000000400460 l F .text 0000000000000000 deregister_tm_clones 00000000004004a0 l F .text 0000000000000000 register_tm_clones 00000000004004e0 l F .text 0000000000000000 __do_global_dtors_aux 0000000000601038 l O .bss 0000000000000001 completed.7585 0000000000600e18 l O .fini_array 0000000000000000 __do_global_dtors_aux_fini_array_entry 0000000000400500 l F .text 0000000000000000 frame_dummy 0000000000600e10 l O .init_array 0000000000000000 __frame_dummy_init_array_entry 0000000000000000 l df *ABS* 0000000000000000 abc.c 0000000000000000 l df *ABS* 0000000000000000 crtstuff.c 0000000000400708 l O .eh_frame 0000000000000000 __FRAME_END__ 0000000000600e20 l O .jcr 0000000000000000 __JCR_END__ 0000000000000000 l df *ABS* 0000000000000000 0000000000600e18 l .init_array 0000000000000000 __init_array_end 0000000000600e28 l O .dynamic 0000000000000000 _DYNAMIC 0000000000600e10 l .init_array 0000000000000000 __init_array_start 00000000004005e0 l .eh_frame_hdr 0000000000000000 __GNU_EH_FRAME_HDR 0000000000601000 l O .got.plt 0000000000000000 _GLOBAL_OFFSET_TABLE_ 00000000004005c0 g F .text 0000000000000002 __libc_csu_fini 0000000000000000 w *UND* 0000000000000000 _ITM_deregisterTMCloneTable 0000000000601028 w .data 0000000000000000 data_start 0000000000601040 g O .bss 0000000000000008 b <<<<<<<< 'b' is 8 bytes 0000000000601038 g .data 0000000000000000 _edata 00000000004005c4 g F .fini 0000000000000000 _fini 0000000000000000 F *UND* 0000000000000000 printf@@GLIBC_2.2.5 0000000000000000 F *UND* 0000000000000000 __libc_start_main@@GLIBC_2.2.5 0000000000601028 g .data 0000000000000000 __data_start 0000000000000000 w *UND* 0000000000000000 __gmon_start__ 0000000000601030 g O .data 0000000000000000 .hidden __dso_handle 00000000004005d0 g O .rodata 0000000000000004 _IO_stdin_used 0000000000400550 g F .text 0000000000000065 __libc_csu_init 0000000000601050 g .bss 0000000000000000 _end 0000000000400430 g F .text 000000000000002a _start 0000000000601048 g O .bss 0000000000000004 a <<<<<<<<< 'a' is 4 bytes 0000000000601038 g .bss 0000000000000000 __bss_start 0000000000400526 g F .text 000000000000001f main 0000000000000000 w *UND* 0000000000000000 _Jv_RegisterClasses 0000000000601038 g O .data 0000000000000000 .hidden __TMC_END__ 0000000000000000 w *UND* 0000000000000000 _ITM_registerTMCloneTable 00000000004003c8 g F .init 0000000000000000 _init
输出显示正确, int a是4字节, long long b是8字节。
size <objfile>显示.bss段的大小,而不是特定变量的大小。 要验证这一事实,从代码中删除a和b全局变量,现在检查.bss段的大小,您仍将看到大小为8。
在Windows操作系统上有大小不同的线程 。
golang框架的定制配置:如何根据需求调整框架的设置?
go 框架可通过配置选项进行定制,满足特定应用程序需求。配置文件包含配置选项,可在函数或 struct 中设置。常见定制包括:启用 release 模式(禁用调试日志)、记录所有请求和限制最大连接数,有助于调试、性能分析和防止过度使用。
Go 框架的定制配置:根据需求调整框架的设置
Golang 框架提供了通过配置选项进行自定义的能力,以满足特定应用程序的需求。本文介绍如何配置框架以调整其行为,并提供实战案例进行说明。
配置文件
立即学习“go语言免费学习笔记(深入)”;
大多数框架都有一个配置文件,其中包含配置选项。例如,Gin 框架使用 config.go 文件:
package config import ( "github.com/gin-gonic/gin" ) // CustomLogger defines a custom logger for Gin func CustomLogger() gin.HandlerFunc { return func(c *gin.Context) { // Custom logging logic c.Next() } }
设置配置选项
配置选项通常使用函数或 struct 值设置。在 Gin 框架中,可以在 gin.SetMode() 函数中设置模式:
gin.SetMode(gin.ReleaseMode)
对于需要 custom logger 的情况,可以在 gin.Default() 函数中指定:
router := gin.New() router.Use(config.CustomLogger()) router.Run()
实战案例
案例 1:启用 Release 模式
启用 Release 模式会禁用调试日志和错误堆栈跟踪。这对于生产环境很有用,可以提高性能。
案例 2:记录所有请求
通过定制 logger,可以记录每个请求的参数、URL 和响应时间。这有助于调试和性能分析。
案例 3:限制最大连接数
某些框架允许限制与服务器同时建立的连接数。这可以防止过度使用和 DoS 攻击。
结论
Go 框架的定制配置提供了灵活性,可以根据应用程序的特定需求来调整框架的行为。通过了解配置选项的用法和掌握实战案例,开发人员可以充分利用框架的自定义功能。
以上就是
Highchart在初始加载时无法显示正确的大小,仅在React js中调整窗口大小时会重新调整大小
如何解决Highchart在初始加载时无法显示正确的大小,仅在React js中调整窗口大小时会重新调整大小?
目前,我正在React中开发图表。我正在使用Highchart。我的问题是,当我的图表第一次加载时,大小没有跟随容器的大小,当我调整窗口大小时,只有图表显示正确的大小。
建议使用许多解决方案
chart.reflow();
但是如何在React代码中使用它?
我尝试过
.highcharts-container,.highcharts-container svg {
width: 100% !important;
}
不起作用
总是在初始时图表会像这样
我需要图表完全显示在黄线上
我的图表代码
this.setState({
chartDrawSector: {
chart: {
type: ''column'',height: ''600'',events: {
load: function(event) {
event.target.reflow();// i tried this not working also..
}
}
},title: {
text: ''Sector All''
},// subtitle: {
// text: ''Source: Worldclimate.com''
// },xAxis: {
categories: sectorName[0],crosshair: true
},yAxis: {
min: 0,title: {
text: displayMode == ''f'' ? ''figures'' : ''Percentage %''
}
},tooltip: {
headerFormat: ''<span>{point.key}</span><table>'',pointFormat: ''<tr><td>{series.name}: </td>'' +
''<td><b>{point.y:.1f} </b></td></tr>'',footerFormat: ''</table>'',shared: true,useHTML: true
},plotOptions: {
column: {
pointPadding: 0.2,borderWidth: 0
}
},series: [{
name: ''Ultimate Negative'',data: n30Data[0],color: ''rgb(100,30,22 )''
},{
name: ''Ultimate Positive'',data: gt30Data[0],color: ''rgb(27,79,114)''
},]
}
})
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
ios – 核心数据:为什么必须调用重新加载数据才能使我的应用程序正常工作?
2012-09-30 06:16:12.854 Thumbnail[34862:707] CoreData: error: SerIoUs
application error. An exception was caught from the delegate of
NSFetchedResultsController during a call to
-controllerDidChangeContent:. Invalid update: invalid number of sections. The number of sections contained in the table view after
the update (1) must be equal to the number of sections contained in
the table view before the update (0),plus or minus the number of
sections inserted or deleted (0 inserted,0 deleted). with userInfo
(null)
基本上它是说FRC委托方法出了问题.一方面,节号从0变为1.另一方面,“0插入,0删除”.那么节号如何增加呢?这应该不会发生..因此错误.
我通过简单地将[self.tableView reloadData]添加到我的FRC设置方法来修复错误.我从post获得灵感,但我不太明白.答案似乎过于复杂和具体项目.有人可以解释为什么添加reloadData可以修复bug吗?答案可能很简单,我希望如此.
我的应用程序的关键组件,如果重要:
>使用UIManagedDocument建立核心数据堆栈
>创建一个帮助方法,从Flickr API下载图像
>在NSManagedobject子类文件中,尝试从持久存储中获取图像.如果还没有,请将其插入MOC.
- (void)setupFetchedResultsController { NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; NSEntityDescription *entity = [NSEntityDescription entityForName:@"BigImage" inManagedobjectContext:self.document.managedobjectContext]; [fetchRequest setEntity:entity]; NSSortDescriptor *imageDescriptor = [[NSSortDescriptor alloc] initWithKey:@"image" ascending:YES]; NSArray *sortDescriptors = [NSArray arrayWithObject: imageDescriptor]; [fetchRequest setSortDescriptors:sortDescriptors]; [fetchRequest setFetchBatchSize:20]; // Create fetch results controller self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedobjectContext:self.document.managedobjectContext sectionNameKeyPath:nil cacheName:@"Root"]; self.fetchedResultsController.delegate = self; NSError *error; if (![self.fetchedResultsController performFetch:&error]) { NSLog(@"Error in performFetch: %@,%@",error,[error userInfo]); } // Critical!! I add this line to fix the bug! [self.tableView reloadData]; }
解决方法
但是没有自动机制将初始提取的结果发送到表视图.这就是你必须在performFetch之后调用reloadData的原因.
但是,有一种情况似乎会自动发挥作用. UITableViewController在viewWillAppear中调用reloadData(如果第一次加载表).因此,如果您在viewDidLoad中设置FRC,则会在viewWillAppear中调用reloadData,而您不必手动调用它.
关于Java Swing:为什么必须调整框架的大小,以便可以显示已添加的组件和java为什么要用框架的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于C:未初始化的inttypes的大小,那么必须是、golang框架的定制配置:如何根据需求调整框架的设置?、Highchart在初始加载时无法显示正确的大小,仅在React js中调整窗口大小时会重新调整大小、ios – 核心数据:为什么必须调用重新加载数据才能使我的应用程序正常工作?等相关知识的信息别忘了在本站进行查找喔。
本文标签: