当前位置:  技术问答>java相关

请问有关JFrame的问题

    来源: 互联网  发布时间:2015-01-30

    本文导语:  如何将JFrame的最大化、最小化或者关闭按钮去掉 | /*    * @(#)InternalFrameDemo.java 1.4 99/10/19    *    * Copyright (c) 1997-1999 by Sun Microsystems, Inc. All Rights Reserved.    *     * Sun grants you ("Licensee")...

如何将JFrame的最大化、最小化或者关闭按钮去掉

|

/* 
  * @(#)InternalFrameDemo.java 1.4 99/10/19 
  * 
  * Copyright (c) 1997-1999 by Sun Microsystems, Inc. All Rights Reserved. 
  *  
  * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use, 
  * modify and redistribute this software in source and binary code form, 
  * provided that i) this copyright notice and license appear on all copies of 
  * the software; and ii) Licensee does not utilize the software in a manner 
  * which is disparaging to Sun. 
  *  
  * This software is provided "AS IS," without a warranty of any kind. ALL 
  * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY 
  * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR 
  * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE 
  * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING 
  * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS 
  * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, 
  * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER 
  * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF 
  * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE 
  * POSSIBILITY OF SUCH DAMAGES. 
  *  
  * This software is not designed or intended for use in on-line control of 
  * aircraft, air traffic, aircraft navigation or aircraft communications; or in 
  * the design, construction, operation or maintenance of any nuclear 
  * facility. Licensee represents and warrants that it will not use or 
  * redistribute the Software for such purposes. 
  */ 
  
  
 import javax.swing.*; 
 import javax.swing.event.*; 
 import javax.swing.text.*; 
 import javax.swing.border.*; 
 import javax.swing.colorchooser.*; 
 import javax.swing.filechooser.*; 
 import javax.accessibility.*; 
  
 import java.awt.*; 
 import java.awt.event.*; 
 import java.beans.*; 
 import java.util.*; 
 import java.io.*; 
 import java.applet.*; 
 import java.net.*; 
  
 /** 
  * Internal Frames Demo 
  * 
  * @version 1.4 10/19/99 
  * @author Jeff Dinkins 
  */ 
 public class InternalFrameDemo extends DemoModule { 
     int windowCount = 0; 
     JDesktopPane desktop = null; 
  
     ImageIcon icon1, icon2, icon3, icon4; 
     ImageIcon smIcon1, smIcon2, smIcon3, smIcon4; 
  
     public Integer FIRST_FRAME_LAYER  = new Integer(1); 
     public Integer DEMO_FRAME_LAYER   = new Integer(2); 
     public Integer PALETTE_LAYER     = new Integer(3); 
  
     public int FRAME0_X        = 15; 
     public int FRAME0_Y        = 280; 
  
     public int FRAME0_WIDTH    = 320; 
     public int FRAME0_HEIGHT   = 230; 
  
     public int FRAME_WIDTH     = 225; 
     public int FRAME_HEIGHT    = 150; 
  
     public int PALETTE_X      = 375; 
     public int PALETTE_Y      = 20; 
  
     public int PALETTE_WIDTH  = 260; 
     public int PALETTE_HEIGHT = 230; 
  
     JCheckBox windowResizable   = null; 
     JCheckBox windowClosable    = null; 
     JCheckBox windowIconifiable = null; 
     JCheckBox windowMaximizable = null; 
  
     JTextField windowTitleField = null; 
     JLabel windowTitleLabel = null; 
  
  
     /** 
      * main method allows us to run as a standalone demo. 
      */ 
     public static void main(String[] args) { 
  InternalFrameDemo demo = new InternalFrameDemo(null); 
  demo.mainImpl(); 
     } 
  
     /** 
      * InternalFrameDemo Constructor 
      */ 
     public InternalFrameDemo(SwingSet2 swingset) { 
  super(swingset, "InternalFrameDemo", "toolbar/JDesktop.gif"); 
  
  // preload all the icons we need for this demo 
  icon1 = createImageIcon("ImageClub/misc/fish.gif", getString("InternalFrameDemo.fish")); 
  icon2 = createImageIcon("ImageClub/misc/moon.gif", getString("InternalFrameDemo.moon")); 
  icon3 = createImageIcon("ImageClub/misc/sun.gif",  getString("InternalFrameDemo.sun")); 
  icon4 = createImageIcon("ImageClub/misc/cab.gif",  getString("InternalFrameDemo.cab")); 
  
  smIcon1 = createImageIcon("ImageClub/misc/fish_small.gif", getString("InternalFrameDemo.fish")); 
  smIcon2 = createImageIcon("ImageClub/misc/moon_small.gif", getString("InternalFrameDemo.moon")); 
  smIcon3 = createImageIcon("ImageClub/misc/sun_small.gif",  getString("InternalFrameDemo.sun")); 
  smIcon4 = createImageIcon("ImageClub/misc/cab_small.gif",  getString("InternalFrameDemo.cab")); 
  
  // Create the desktop pane 
  desktop = new JDesktopPane(); 
  getDemoPanel().add(desktop, BorderLayout.CENTER); 
  
  // Create the "frame maker" palette 
  createInternalFramePalette(); 
  
  // Create an initial internal frame to show 
  JInternalFrame frame1 = createInternalFrame(icon1, FIRST_FRAME_LAYER, 1, 1); 
  frame1.setBounds(FRAME0_X, FRAME0_Y, FRAME0_WIDTH, FRAME0_HEIGHT); 
  
  // Create four more starter windows 
  createInternalFrame(icon1, DEMO_FRAME_LAYER, FRAME_WIDTH, FRAME_HEIGHT); 
  createInternalFrame(icon3, DEMO_FRAME_LAYER, FRAME_WIDTH, FRAME_HEIGHT); 
  createInternalFrame(icon4, DEMO_FRAME_LAYER, FRAME_WIDTH, FRAME_HEIGHT); 
  createInternalFrame(icon2, DEMO_FRAME_LAYER, FRAME_WIDTH, FRAME_HEIGHT); 
     } 
  
  
  
     /** 
      * Create an internal frame and add a scrollable imageicon to it 
      */ 
     public JInternalFrame createInternalFrame(Icon icon, Integer layer, int width, int height) { 
  JInternalFrame jif = new JInternalFrame(); 
  
  if(!windowTitleField.getText().equals(getString("InternalFrameDemo.frame_label"))) { 
      jif.setTitle(windowTitleField.getText() + "  "); 
  } else { 
      jif = new JInternalFrame(getString("InternalFrameDemo.frame_label") + " " + windowCount + "  "); 
  } 
  
  // set properties 
  jif.setClosable(windowClosable.isSelected()); 
  jif.setMaximizable(windowMaximizable.isSelected()); 
  jif.setIconifiable(windowIconifiable.isSelected()); 
  jif.setResizable(windowResizable.isSelected()); 
  
  jif.setBounds(20*(windowCount%10), 20*(windowCount%10), width, height); 
  jif.setContentPane(new ImageScroller(this, icon, 0, windowCount)); 
  
  windowCount++; 
   
  desktop.add(jif, layer);   
  
  // Set this internal frame to be selected 
  
  try { 
      jif.setSelected(true); 
  } catch (java.beans.PropertyVetoException e2) { 
  } 
  
  jif.show(); 
  
  return jif; 
     } 
  
     public JInternalFrame createInternalFramePalette() { 
  JInternalFrame palette = new JInternalFrame( 
      getString("InternalFrameDemo.palette_label") 
  ); 
  palette.putClientProperty("JInternalFrame.isPalette", Boolean.TRUE); 
  palette.getContentPane().setLayout(new BorderLayout()); 
  palette.setBounds(PALETTE_X, PALETTE_Y, PALETTE_WIDTH, PALETTE_HEIGHT); 
  palette.setResizable(true); 
  palette.setIconifiable(true); 
  desktop.add(palette, PALETTE_LAYER); 
  
  // ************************************* 
  // * Create create frame maker buttons * 
  // ************************************* 
  JButton b1 = new JButton(smIcon1); 
  JButton b2 = new JButton(smIcon2); 
  JButton b3 = new JButton(smIcon3); 
  JButton b4 = new JButton(smIcon4); 
  
  // add frame maker actions 
  b1.addActionListener(new ShowFrameAction(this, icon1)); 
  b2.addActionListener(new ShowFrameAction(this, icon2)); 
  b3.addActionListener(new ShowFrameAction(this, icon3)); 
  b4.addActionListener(new ShowFrameAction(this, icon4)); 
  
  // add frame maker buttons to panel 
  JPanel p = new JPanel(); 
  p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS)); 
  
  JPanel buttons1 = new JPanel(); 
  buttons1.setLayout(new BoxLayout(buttons1, BoxLayout.X_AXIS)); 
  
  JPanel buttons2 = new JPanel(); 
  buttons2.setLayout(new BoxLayout(buttons2, BoxLayout.X_AXIS)); 
  
  buttons1.add(b1); 
  buttons1.add(Box.createRigidArea(HGAP15)); 
  buttons1.add(b2); 
  
  buttons2.add(b3); 
  buttons2.add(Box.createRigidArea(HGAP15)); 
  buttons2.add(b4); 
  
  p.add(Box.createRigidArea(VGAP10)); 
  p.add(buttons1); 
  p.add(Box.createRigidArea(VGAP15)); 
  p.add(buttons2); 
  p.add(Box.createRigidArea(VGAP10)); 
  
  palette.getContentPane().add(p, BorderLayout.NORTH); 
  
  // ************************************ 
  // * Create frame property checkboxes * 
  // ************************************ 
  p = new JPanel() { 
      Insets insets = new Insets(10,15,10,5); 
      public Insets getInsets() { 
  return insets; 
      } 
  }; 
  p.setLayout(new GridLayout(2,2)); 
  
  
  windowResizable   = new JCheckBox(getString("InternalFrameDemo.resizable_label"), true); 
  windowClosable    = new JCheckBox(getString("InternalFrameDemo.closable_label"), true); 
  windowIconifiable = new JCheckBox(getString("InternalFrameDemo.iconifiable_label"), true); 
  windowMaximizable = new JCheckBox(getString("InternalFrameDemo.maximizable_label"), true); 
  
  p.add(windowResizable); 
  p.add(windowClosable); 
  p.add(windowIconifiable); 
  p.add(windowMaximizable); 
  
  palette.getContentPane().add(p, BorderLayout.CENTER); 
  
  
  // ************************************ 
  // *   Create Frame title textfield   * 
  // ************************************ 
  p = new JPanel() { 
      Insets insets = new Insets(0,0,10,0); 
      public Insets getInsets() { 
  return insets; 
      } 
  }; 
  
  windowTitleField = new JTextField(getString("InternalFrameDemo.frame_label")); 
  windowTitleLabel = new JLabel(getString("InternalFrameDemo.title_text_field_label")); 
  
  p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS)); 
  p.add(Box.createRigidArea(HGAP5)); 
  p.add(windowTitleLabel, BorderLayout.WEST); 
  p.add(Box.createRigidArea(HGAP5)); 
  p.add(windowTitleField, BorderLayout.CENTER); 
  p.add(Box.createRigidArea(HGAP5)); 
  
  palette.getContentPane().add(p, BorderLayout.SOUTH); 
  
  palette.show(); 
  
  return palette; 
     } 
  
  
     class ShowFrameAction extends AbstractAction { 
  InternalFrameDemo demo; 
  Icon icon; 
   
   
  public ShowFrameAction(InternalFrameDemo demo, Icon icon) { 
      this.demo = demo; 
      this.icon = icon; 
  } 
   
  public void actionPerformed(ActionEvent e) { 
      demo.createInternalFrame(icon, 
       getDemoFrameLayer(), 
       getFrameWidth(), 
       getFrameHeight() 
      ); 
  } 
     } 
  
     public int getFrameWidth() { 
  return FRAME_WIDTH; 
     } 
  
     public int getFrameHeight() { 
  return FRAME_HEIGHT; 
     } 
  
     public Integer getDemoFrameLayer() { 
  return DEMO_FRAME_LAYER; 
     } 
      
     class ImageScroller extends JScrollPane { 
   
  public ImageScroller(InternalFrameDemo demo, Icon icon, int layer, int count) { 
      super(); 
      JPanel p = new JPanel(); 
      p.setBackground(Color.white); 
      p.setLayout(new BorderLayout() ); 
       
      p.add(new JLabel(icon), BorderLayout.CENTER); 
       
      getViewport().add(p); 
  } 
   
  public Dimension getMinimumSize() { 
      return new Dimension(25, 25); 
  } 
   
     } 
  
      
 } 
 

    
 
 

您可能感兴趣的文章:

  • 请问哪里有jboss有关配置的教程,最好是中文的,先谢了
  • 高分请教:请问怎么才能得到最近所有有关文件操作(新建,删除等)的记录
  • 请问有关man的问题
  • 请问有关solarisx86几张光盘的问题
  • 请问一个shell中有关数据格式转化的问题
  • 请问数据库有关问题,谢谢!
  • 请问大虾有关在windows上移植GCC的问题。
  • 请问有关ObjectCollectedException的问题?
  • 请问如何学习corba,再推荐几本好的书,最好是和java有关的
  • 请问有关MAP,SET,LIST的定义,特性,要考scjp拉,书上又不清楚
  • 请问哪里可以找到有关Enhydra的资料?
  • 请问高手有关makefie!!!!
  • 请问哪有有关linux/unix操作手册sch的文档下载吗?
  • 请问一个有关cron输出的问题
  • 请问ftp上传大小写突然改变跟linux有关吗?
  • 请问装LINUX与计算机配置有关吗》?
  • 请问一个有关向Vector中加入元素的问题
  • 请问有关写日志的问题??
  • 请问一下有关LINUX内核的网卡驱动一个弱弱的问题
  • 请问大家一个有关hwclock的问题
  • 请问创建一个JFrame与JPanel有什么不同?
  • 请问如何改变JFrame的颜色?用setBackground(color),好象不行。谢谢!
  • 请问诸位高手,Java中JFrame上最小化按钮是调用什么方法实现的??
  • 请问在如何在当前的JFrame失去焦点后,产生一个事件?
  • ======请问jFrame与jDialog有什么不同?=====
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问:我知道路由器的telnet密码,但忘记了enable 密码,请问如何是好?
  • 请问那里有SYBASE的jbdb 2.0下载;jspsmartupload可以直接将文件上传到数据库,请问如何使用
  • 请问最新的reahat9.0是基于什么核心的?2.4?2.6?请问那里能下载?
  • 请问:请问哪里有关于linux基本操作命令讲解的资料下载,最好是幻灯片格式的.
  • 请问,我试图用#admintool&图形工具命令来安装sun workshop5.0,为什么进入的却是用户管理界面?请问具体该如何在solaris下安装应用软件
  • 请问在Redhat 9里,我从登录就是图形介面,请问如何在图形介面内进入命令行方式呢,谢谢
  • Web服务器/前端 iis7站长之家
  • 请问:我在redhat下装了bochs-2.2.1-1.rpm,.装了后,想设置一下,但找不到bochsrc.fda.bxrc,请问这个文件在哪个曰录下啊。
  • 请问:在配置Qt时,很多文档都说在.profile,.login里加东西,但是我好像没有发现有这两个文件上,请问这些文件在哪个目录下啊
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题.
  • 请问各位大虾,小弟今天开始学jsp了,这学期我们有java课,所以已经下载了jdk(好象是1.2),请问我的98环境怎么配置jsp环境呀?我的jdk可以运行.java程序,别的我就不知道了....谢谢!
  • 主机是WIN2000,我用的是LUNIX,请问是否可以共享上网? 如果可以请问如何设置? 500分答谢,龟儿食言!
  • 请问linux下GUI开发的问题!
  • 请问出现fstab文件丢失该怎么修复呀?
  • 请问这个方法如何调用?
  • 请问一个奇怪的问题!
  • 请问在网页中打开的新窗口,如何让其居中。
  • 请问我该学什么了
  • 请问安装zhcon,cxterm问题
  • 非常急! 请问daemontools 在red hat 9下的安装问题? 在线等待


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3