JFrame中setMaximumSize失效的原因,以及getMinimumSize()重写的困惑

Haisen大王 2015-06-02 11:24:32
import java.awt.ComponentOrientation;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;

public class Test03 {
public static void addComponents(Container contentPane) {
contentPane.setLayout(new FlowLayout());
contentPane.add(new JButton("Button 1"));
contentPane.add(new JButton("Button 2"));
contentPane.add(new JButton("Button 3"));
contentPane.add(new JButton("long-name Button 4"));
contentPane.add(new JButton("5"));
}

private static void createAndShowGUI() {
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("FlowLayout Demo") {
@Override
public Dimension getMinimumSize() {
return new Dimension(100, 100);
}
};
frame.setMinimumSize(new Dimension(200,200));
frame.setMaximumSize(new Dimension(300,300));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addComponents(frame.getContentPane());
frame.setVisible(true);
}
public static void main(String[] args) {
createAndShowGUI();
}
}


第一种问题(仅有这两句设置大小代码时):
设置最小大小frame.setMinimumSize(new Dimension(200,200));可以实现。
frame.setMaximumSize(new Dimension(300,300));什么原因导致无效的?
第二个问题(当重写public Dimension getMinimumSize() 时),如果没有frame.setMinimumSize(new Dimension(200,200)); 或者JFrame.setDefaultLookAndFeelDecorated(true); 其中的一句。 也无法成功设置,这又是为什么?
次问题困惑我多日了,求指导。。以往的认识是get是获取属性,如今怎么会涉及到可以修改属性了!实在搞不懂!具体导致的原理是什么?
...全文
303 1 打赏 收藏 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
alan19931103 2015-06-02
  • 打赏
  • 举报
回复
文档里这么说的:顶层窗口的位置和大小受桌面窗口管理系统的控制。这个方法的调用是转发到窗口管理系统的一个请求(不是命令),它会尽量响应这个请求。但是某些情况下他会忽略这个请求,使之与桌面设置相匹配。 具体不是非常清楚。
内容概要:本文介绍了WiFiSupply斯普莱WFS7000XA工业级大功率双频无线AP基站,该设备支持2.4G/5GHz双频段,最大带宽达433Mbps,具备高发射功率(26dBm)、高接收灵敏度(-97dBm)和超远传输距离(可达1.5公里以上)。产品采用工业级设计,支持TDMA时分多址、私有协议、Fast Roaming快速漫游(切换延迟≤30ms)、抗干扰能力强,通信延迟低于1ms,支持主流PLC通信协议。设备支持胖瘦一体模式、多种供电方式(含POE)、IP54防护等级、-45~85℃宽温工作,适用于复杂电磁与恶劣环境。具备多重安全机制,如巨量安全隧道、VLAN、QoS、防火墙、MAC/IP过滤等,并支持SNMP、SSH、API对接及云平台集中管理,满足工业4.0、智慧物流、AGV/AMR小车、无人机遥控、车载视频传输等场景的无线组网需求。; 适合人群:从事工业自动化、物联网、智能制造、智慧物流等领域,具备一定网络与通信基础知识的技术人员及系统集成商。; 使用场景及目标:①用于AMR/AGV/RGV小车、穿梭车、天车等移动设备的无线联网与稳定通信;②实现室内外远距离无线桥接与覆盖,支持高速移动下的无缝漫游与低延迟数据传输;③构建高安全、高可靠的工业无线网络,支持PLC协议传输与远程集中管控。; 阅读建议:此文档侧重产品技术参数与工业应用场景,建议结合实际部署需求重点关注其抗干扰能力、漫游性能、供电方式与管理接口,便于在复杂工业环境中选型与集成。
内容概要:本文围绕基于序贯蒙特卡洛模拟法的配电网可靠性评估展开系统性研究,深入阐述了该方法在电力系统可靠性分析中的理论基础与技术优势。相较于非序贯方法,序贯蒙特卡洛通过引入时间序列模拟,能够精确刻画系统状态的时序演变过程与元件故障的动态特性,有效提升对复杂运行场景的模拟能力。研究建立了配电网中关键设备的故障模型与状态转移机制,采用时序仿真方法对系统运行状态进行抽样,并在此基础上统计计算系统平均停电频率(SAIFI)、系统平均停电持续时间(SAIDI)等核心可靠性指标。为验证方法的有效性与实用性,研究以标准IEEE测试系统为案例进行仿真分析,充分展示了该方法在处理多重故障、网络重构及复杂拓扑结构下的优越性能,并配套提供了完整的Matlab代码实现,增强了研究成果的可复现性与工程应用价值。; 适合人群:具备电力系统分析、概率统计基础知识以及一定Matlab编程能力的高校研究生、从事电力系统规划、运行与可靠性评估的科研人员及工程技术人员。; 使用场景及目标:①用于高等院校相关课程的教学演示与学生实践,深化对可靠性评估理论的理解;②为配电网规划、运维策略制定及升级改造提供科学、量化的决策支持工具;③支撑高水平学术论文的成果复现、方法改进与算法创新研究。; 阅读建议:此资源集理论推导、算法实现与仿真验证于一体,建议读者在掌握蒙特卡洛模拟基本原理的基础上,结合文档内容仔细研读并调试所提供的Matlab代码,通过调整系统参数、故障率等输入条件,观察其对SAIFI、SAIDI等输出指标的影响,从而深入理解状态抽样、时序模拟与可靠性指标统计等关键技术环节的实现细节与内在逻辑。

51,407

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧