阿里云可以做网站,哈尔滨企业网站制作,网页设计基础心得体会,网站建设流程行情于是开心地升级到了V1.1版本 等我先消化下知识再来更新。 关键在于面板的setPreferredSize(Dimension d)方法和框架的pack()方法。 大概就是说#xff0c;用了布局管理器的话#xff0c;管理器会根据preferredSize来安排控件大小#xff0c;用setSize的话不一定会起作用 大概就是说用了布局管理器的话管理器会根据preferredSize来安排控件大小用setSize的话不一定会起作用所以我之前直接改变面板的大小然后pack框架最后出来的效果是框架高度变成0大概就是因为preferredSize默认是0。………………对么 总之用setPreferredSize才是正确的设定面板大小的方法。 至于pack就是根据框架内容来重新计算框架大小似乎是很智能所以不用想太多。 按照我以前的做法结果就是打开了文件之后按照图片大小改变框架大小然后面板就因为布局管理器而自动扩大但是图大框架大它框架还包含边框啊于是能用来显示的地方就小于是图就挤到窗口外面了。 现在呢打开了文件之后我按照图片大小设置面板大小这样面板就挤出去了然后再调用框架的pack方法自动按照内容物大小来扩大框架就不用担心边框的问题了于是就搞定了。 不过还有一个问题搞不懂。 public void actionPerformed(ActionEvent e) {Image img;if ((img getImage()) ! null) {parent.getPanel().setImage(img);parent.getPanel().setPreferredSize(new Dimension(img.getWidth(parent), img.getHeight(parent)));parent.pack();} else {return;}
} 我之前在setImage之后还加了一句repaint()然后发现注释掉也不影响显示就删掉了。 于是现在我只是用setImage方法改变了面板的属性就是一个图片对象的引用那它到底是什么时候重新绘制内容的 请自行脑内配上少年包青天的那个悬疑BGM。 我找来了不谢。 转载于:https://www.cnblogs.com/chihane/p/3502808.html