JFrame 的设置问题

oracle_lover 2008-03-09 01:25:34
1. 不允许改变窗口大小
2. 使窗口的最大化、最小化、关闭按钮无效
3. 窗口内的组件根据窗口的大小而改变大小:各组件有没有方法自适应窗口大小?如果没有,怎样响应窗口大小改变的事件?
4. 窗口有哪些事件,比如最大化、最小化、改变大小、关闭、获得焦点、失去焦点?如何响应?
...全文
133 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dracularking 2008-03-09
  • 打赏
  • 举报
回复
1. 不允许改变窗口大小
frame.setResizable(false);


2. 使窗口的最大化、最小化、关闭按钮无效
没发现合适的方法
或者
setUndecorated(true);

或者改用JDialog

3. 窗口内的组件根据窗口的大小而改变大小:各组件有没有方法自适应窗口大小?如果没有,怎样响应窗口大小改变的事件?
有了Layout就能自适应

this.addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent e) {
// do something according to the resize event
}
});

4. 窗口有哪些事件,比如最大化、最小化、改变大小、关闭、获得焦点、失去焦点?如何响应?
WindowListener接口中定义的那些方法 如非活动窗口,最小化状态恢复正常状态等
通过注册listener来响应

guofei_gf 2008-03-09
  • 打赏
  • 举报
回复
窗口适应组件大小:frame.pack();
nj_dobetter 2008-03-09
  • 打赏
  • 举报
回复
public class MyFrame extends javax.swing.JFrame implements java.awt.event.WindowListener{
public MyFrame(){
this.setResizable(false);
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
this.addWindowListener(this);
this.setSize(600,450);
this.setLocation(120,80);
this.setVisible(true);
}

public void windowOpened(WindowEvent e) {}

public void windowClosing(WindowEvent e) {//关闭窗口时作的处理
//System.exit(0);
}

public void windowClosed(WindowEvent e) {}

public void windowIconified(WindowEvent e) {}//最小化

public void windowDeiconified(WindowEvent e) {}//恢复

public void windowActivated(WindowEvent e) {}

public void windowDeactivated(WindowEvent e) {}
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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