Abh*_*ogi 26 java user-interface swing jframe
我有一个JFrame,在GridBagLayout中有3个JPanel ..
现在,当我最小化窗口时,在一定限制之后,第三个JPanel趋于消失.我尝试使用setMinimumSize(new Dimension(int,int))设置最小化JFrame的大小但没有成功.窗户仍然可以最小化.
所以,我实际上想做一个门槛,我的窗口在一定限度后无法最小化.
我怎么能这样做?
码:-
import java.awt.Dimension;
import javax.swing.JFrame;
public class JFrameExample {
public static void main(String[] args) {
JFrame frame = new JFrame("Hello World");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setMinimumSize(new Dimension(400, 400));
frame.setVisible(true);
}
}
Run Code Online (Sandbox Code Playgroud)
也:
shadyabhi@shadyabhi-desktop:~/java$ java --showversion
java version "1.5.0"
gij (GNU libgcj) version 4.4.1
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Usage: gij [OPTION] ... CLASS [ARGS] ...
to invoke CLASS.main, or
gij -jar [OPTION] ... JARFILE [ARGS] ...
to execute a jar file
Try `gij --help' for more information.
shadyabhi@shadyabhi-desktop:~/java$
Run Code Online (Sandbox Code Playgroud)
给我输出像
**更新:**同样在运行时Netbeans IDE提供预期的输出..当我运行"java JFrameExample"编译器时,我遇到问题..现在,这意味着什么?
abl*_*eul 34
该文件告诉我,这种行为是与平台相关的.特别是,因为以下示例代码在Windows Vista中根据需要适用于我:
import java.awt.Dimension;
import javax.swing.JFrame;
public class JFrameExample {
public static void main(String[] args) {
JFrame frame = new JFrame("Hello World");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setMinimumSize(new Dimension(100, 100));
frame.setVisible(true);
}
}
Run Code Online (Sandbox Code Playgroud)
实际上有一种方法可以确保任何平台上的最小尺寸.您需要将JFrame的最小大小设置为其内容窗格的最小大小,然后您需要编写ComponentAdapter并覆盖componentResized.然后,您只需在JFrame上使用getSize和getMinimum大小,并将宽度和/或高度替换为最小宽度或高度(如果它更大).假设您正在扩展JFrame:
this.addComponentListener(new ComponentAdapter(){
public void componentResized(ComponentEvent e){
Dimension d=YourJFrame.this.getSize();
Dimension minD=YourJFrame.this.getMinimumSize();
if(d.width<minD.width)
d.width=minD.width;
if(d.height<minD.height)
d.height=minD.height;
YourJFrame.this.setSize(d);
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
54760 次 |
最近记录: |