Topic: [求助]JFrame的模式问题

  Print this page

1.[求助]JFrame的模式问题 Copy to clipboard
Posted by: jialichao
Posted on: 2006-05-27 11:53

我想创建一个登陆框,把这个JFame设计成不可拖动边框改变大小的模式该怎么做呀?能不能指定上面的最小化最大化和关闭的那个按钮各自独立显示出来?
谢谢大家了。

2.Re:[求助]JFrame的模式问题 [Re: jialichao] Copy to clipboard
Posted by: lisliefor
Posted on: 2006-05-27 20:16

不可拖动边框改变大小,只需要一个方法:this.setResizable(false);
实现窗口最左上角的最小化、最大化、关闭的按钮需要添加相应的窗口适配器。
这里我给出一个比较简单的例子:

package help;

import javax.swing.*;
import java.awt.event.*;

public class MyJFrame extends JFrame{
  JMenuBar Bar;
  JMenu File;
  JMenuItem Exit;
  
  public MyJFrame() {
    super();
    Bar = new JMenuBar();
    File = new JMenu("File");
    Exit = new JMenuItem("Exit");
    
    Exit.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent e){
        System.exit(0);
      }
    });
    
    setJMenuBar(Bar);
    Bar.add(File);
    File.add(Exit);
    setBounds(50,50,450,400);
    this.setVisible(true); //窗口设置为可见
    this.setResizable(false); //窗口大小锁定,设置后,无法通过鼠标拖动,调整大小。
     //如果锁定了窗口,那么最大化窗口的按钮将被自动禁用
    validate(); //刷新窗口的作用(有时候会碰到窗口添加组件后,无法
     //正常显示,调整窗口大小后,才能看到。这个方法避免该情况发生)
  }
  
  public static void main(String args[]){
    MyJFrame myframe = new MyJFrame();
    
    //关闭窗口的适配器(使那个叉叉点击后有效果的方法)
    myframe.addWindowListener(new WindowAdapter(){
      public void windowClosing(WindowEvent e){
        System.exit(0);
      }
    });
  }
}
/*
*     我在其他社区碰到过很多窗口最大化带来的问题
*     最起码,可能导致加载在上面的组件移位、变形
*     影响界面外观,一般做法就是禁用。
*     如果布局合理可以避免这个问题。
*/

3.Re:[求助]JFrame的模式问题 [Re: jialichao] Copy to clipboard
Posted by: jialichao
Posted on: 2006-05-28 15:20

多谢大哥的指教,你的回复让我学了很多东西,多谢您的热心,为了向你请教问题我能不能加你的联系方式呀?如果你方便的话。

4.Re:[求助]JFrame的模式问题 [Re: jialichao] Copy to clipboard
Posted by: lisliefor
Posted on: 2006-05-28 19:23

QQ: 258280899
Email: adisom_kitty@sohu.com


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923