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

做了一个窗口,如何让它在启动的时候,显示在屏幕正中。(不管屏幕的大小和分辨率)

    来源: 互联网  发布时间:2015-02-28

    本文导语:  | import java.awt.*; import java.awt.event.*; import javax.swing.*; public class splash extends JFrame {   Toolkit kit = Toolkit.getDefaultToolkit();   JWindow jw = new JWindow();   JLabel la = new JLabel(new ImageIcon("a.jpg"));        public sp...


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

public class splash extends JFrame
{
  Toolkit kit = Toolkit.getDefaultToolkit();
  JWindow jw = new JWindow();
  JLabel la = new JLabel(new ImageIcon("a.jpg"));

  
    public splash()
    {
      la.setBorder(BorderFactory.createRaisedBevelBorder());
      jw.getContentPane().add(la,BorderLayout.CENTER);
      centerWindow();
      jw.show();
      
      jw.addMouseListener(new MouseAdapter()
        {
            public void mousePressed(MouseEvent e)
            {
              jw.dispose();
              System.exit(0);
            }
        });
        
      
    }
    
    private void centerWindow()
    {
      Dimension sc = kit.getScreenSize();
      Dimension ls = la.getPreferredSize();
      int law = ls.width;
      int lah = ls.height;
      jw.setLocation(sc.width/2 - (law/2),sc.height/2 - (lah/2));
      jw.pack();

    }
    
    public static void main(String args[])
    {
      JFrame fr = new splash();
      
    }

|
Center a Frame/Dialog
// centers the dialog within the screen [1.1]
//  (put that in the Frame/Dialog class)
public void centerScreen() {
  Dimension dim = getToolkit().getScreenSize();
  Rectangle abounds = getBounds();
  setLocation((dim.width - abounds.width) / 2,
      (dim.height - abounds.height) / 2);
  super.setVsible(true);
  requestFocus();
  }
 


  
// centers the dialog within the parent container [1.1]
//  (put that in the Dialog class)
public void centerParent () {
  int x;
  int y;

  // Find out our parent 
  Container myParent = getParent();
  Point topLeft = myParent.getLocationOnScreen();
  Dimension parentSize = myParent.getSize();

  Dimension mySize = getSize();

  if (parentSize.width > mySize.width) 
    x = ((parentSize.width - mySize.width)/2) + topLeft.x;
  else 
    x = topLeft.x;
   
  if (parentSize.height > mySize.height) 
    y = ((parentSize.height - mySize.height)/2) + topLeft.y;
  else 
    y = topLeft.y;
   
  setLocation (x, y);
  super.setVsible(true);
  requestFocus();
  }  
 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 分辨率和启动的问题
  • 在grub.conf中通过添加vga=***来改变分辨率,启动不了了
  • Linux2.6.16修改中LCD分辨率后 内核无法启动
  • Windows 7 下 IE10启动很慢,如何更改设置让它启动变快
  • 各位大虾,请问怎样在启动菜单中指定由硬盘启动(象EASYBOOT,JO.SYS..启动时指定由硬盘启动)?
  • 红帽RHEL下面设置docker服务自动启动
  • 我的LINUX为什么不能选择启动,只能用启动盘启动
  • Windows7自带防火墙设置:启动,关闭及高级设置
  • emacs不启动X的界面,启动在终端里面呢?(希望他启动x界面)
  • Ubuntu程序开机自动启动设置(服务和自动运行配置文件)的几种方法
  • 在我启动linux设成Gnome图片模式启动,如果想启动字符模式,应怎样把级别5改为3吗,教我改法
  • 隐藏andriod 应用app启动图标的几种方法
  • linux 服务器启动时,机子启动就启动下面的这行命令
  • Arch下面安装启动及删除docker介绍
  • 再线送分:我的硬盘装了REDHAT LINUX,但不启动,软盘启动盘也没了,请问怎样能再次启动?
  • 如何在win7,win8下面启动docker
  • 如何修改启动菜单的启动顺序(linux,windows),我想让系统默认启动到windows.谢谢!!
  • Mysql服务器登陆,启动,停止等基本操作命令介绍(Linux/Centos环境)
  • 怎样在Fedora Core 7下看到TOMCAT5的启动过程(如加载的WEB应用,类包,监听端口,启动时间),并在桌面上建立一个启动startup.sh的快捷方式?
  • 我没在硬盘上装启动,我用的是软盘启动,现在想要在NT下启动Linux
  • 急死了。。XP下删除LINUX分区,启动不了机器。连windows启动光盘和DOS软盘也启动不了。BIOS也进不去。
  • 无法启动。xp,opensuse双系统,suse中修改了系统启动顺序,机器无法启动了,提示no operating system
  • vmware下加载了一个虚拟软驱镜像,如果设置第一启动项为软驱的话,软驱能正常加载运行。但如果我第一启动项不设为软驱,正常启动fedora12的话。
  • 如何修改RedHat8启动延时及默认启动的系统?


  • 站内导航:


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

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

    浙ICP备11055608号-3