Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果元素太大,如何自动调整JFrame的大小?_Java_Swing_Jframe_Jpanel - Fatal编程技术网

Java 如果元素太大,如何自动调整JFrame的大小?

Java 如果元素太大,如何自动调整JFrame的大小?,java,swing,jframe,jpanel,Java,Swing,Jframe,Jpanel,我已经研究了30分钟如何在元素太大时自动调整JFrame。我试图在JFrame中拟合线段,但它总是超出空间,但不会自动生成更多空间 我该怎么办 DrivePanel panel = new DrivePanel(aCar, coordinates); JFrame application = new JFrame(); application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); application.add(panel); ap

我已经研究了30分钟如何在元素太大时自动调整
JFrame
。我试图在
JFrame
中拟合线段,但它总是超出空间,但不会自动生成更多空间

我该怎么办

DrivePanel panel = new DrivePanel(aCar, coordinates); 
JFrame application = new JFrame();

application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
application.add(panel); 
application.setSize(600,600);
application.setVisible(true);
输出示例:

一些要考虑的事情:

  • 如果在面板上进行自定义绘制,请记住面板的大小不会因绘制内容而改变。 例如,如果在(10001000)坐标处绘制“最后一个”点(我是指x和y值最大的点),则应设置面板的首选大小以容纳它

  • 要让应用程序使用组件的首选大小,应该调用application.pack()(其中application是JFrame对象),而不是手动设置大小

  • 如果面板太大,无法在屏幕上显示,可以将其添加到JScrollPane,然后将滚动窗格添加到jframe(而不是面板本身)。 如果您的面板无法在屏幕上完全显示,滚动窗格将自动使用滚动条

请考虑这个小例子,基于你的代码:

DrivePanel panel = new DrivePanel(aCar, coordinates); 
JFrame application = new JFrame();

application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel.setPreferredSize(new Dimension(1000,1000)); // change 1000,1000 with the coordinates you need ...
JScrollPane scrollPane = new JScrollPane(panel);
application.add(scrollPane); 
application.pack();
application.setVisible(true);

希望这有帮助:)

要更快获得更好的帮助,请发布一个多大的?添加卷轴?是否缩放到首选大小?你想从我们这里得到什么?对于mor space CONTAINATE 4监视器,如果600×600太小,请更改
setSize(600600)
语句中的值。如果这不是一个合适的解决方案,您必须在问题中包含实际需求。