用Java Swing制作欢迎屏幕

几乎所有时髦的应用都有一个欢迎屏幕。欢迎屏幕既是宣传产品的方法之一,而且在长时间的应用启动过程中,欢迎屏幕还用来表示应用正在准备过程中。

下面是一个最简单的欢迎屏幕实现:

class SplashWindow1 extends JWindow
{
  public SplashWindow1(String filename, Frame f)
  {
   super(f);
   JLabel l = new JLabel(new ImageIcon(filename));
   getContentPane().add(l, BorderLayout.CENTER);
   pack();
   Dimension screenSize =Toolkit.getDefaultToolkit().getScreenSize();
   Dimension labelSize = l.getPreferredSize();
   setLocation(screenSize.width/2 - (labelSize.width/2),
   screenSize.height/2 - (labelSize.height/2));
   setVisible(true);
   screenSize = null;
   labelSize = null;
  }
}

SplashWindow1类从Swing的JWindow派生。JWindow是一个容器,它没有其他窗口所具有的各种窗口元素,如标题条、窗口管理按钮,甚至连突出显示的边框也没有。因此,JWindow对于制作欢迎屏幕来说是非常合适的。上面的代码假定图形文件在当前目录。图形通过ImageIcon装入内存,然后它就被放到了JWindow的中心。接着,窗口被pack(),这使得Swing把窗口调整到适当的大小,最后窗口被移到了屏幕的中心。

如果我们运行上面的程序,可以发现虽然欢迎画面确实出现在屏幕中央,但遗憾的,它却不会关闭!要关闭欢迎画面,我们需要加入更多的代码:

class SplashWindow2 extends JWindow
{
  public SplashWindow2(String filename, Frame f)
  {
   super(f);
   JLabel l = new JLabel(new ImageIcon(filename));
   getContentPane().add(l, BorderLayout.CENTER);
   pack();
   Dimension screenSize =Toolkit.getDefaultToolkit().getScreenSize();
   Dimension labelSize = l.getPreferredSize();
   setLocation(screenSize.width/2 - (labelSize.width/2),
   screenSize.height/2 - (labelSize.height/2));
   addMouseListener(new MouseAdapter()
   {  
    public void mousePressed(MouseEvent e)
    {
     setVisible(false);
     dispose();
    }
   });
   setVisible(true);
  }
}

时间: 2024-09-22 12:45:02

用Java Swing制作欢迎屏幕的相关文章

用Swing制作欢迎屏幕 (转自赛迪网)

用Swing制作欢迎屏幕(松下客 2001年05月30日 18:49)几乎所有时髦的应用都有一个欢迎屏幕.欢迎屏幕既是宣传产品的方法之一,而且在长时间的应用启动过程中,欢迎屏幕还用来表示应用正在准备过程中.下面是一个最简单的欢迎屏幕实现: class SplashWindow1 extends JWindow{    public SplashWindow1(String filename, Frame f)    {        super(f);        JLabel l = new

java swing制作右键菜单

java swing中如何实现右键菜单呢? 直接上代码: /*** java * 设置弹出菜单 * @param qrResultLabel */ private void setPopupMenu(JComponent qrResultLabel) { final MyMenuActionListener myMenuListener=new MyMenuActionListener(this); qrResultLabel.addMouseListener(new MouseInputAda

java制作欢迎屏幕123

我们可以在应用程序的开始加入一个欢迎屏幕.欢迎屏幕既是宣传产品的方法之一,而且在长时间的应用启动过程中,欢迎屏幕还用来表示应用正在准备过程中. 1.最简单的欢迎屏幕实现: class SplashWindow1 extends JWindow{ public SplashWindow1(String filename, Frame f) { super(f); JLabel l = new JLabel(new ImageIcon(filename)); getContentPane().add

Java swing实现图片放大超过电脑屏幕2倍以上

问题描述 Java swing实现图片放大超过电脑屏幕2倍以上 swing中图片一般放大超过电脑的屏幕大小后会报内存溢出 ,有什么办法解决此问题,比如微软的画图工具就可以放大超过屏幕大小很多 解决方案 试了一下确实会出现这样的问题,不过貌似没有必要放大那么大吧.如果楼主有解决方案就更好了. 解决方案二: 现在做一个cs的项目了 需要那么的需求 网上找了好多 就是没有啊

java编程,在屏幕上显示一个带标题的窗口,并添加一个按钮

问题描述 java编程,在屏幕上显示一个带标题的窗口,并添加一个按钮 编写程序,在屏幕上显示一个带标题的窗口,并添加一个按钮,当用户单击按钮时,弹出对话框,显示用户单击了按钮. 解决方案 找点Java 的 Swing学习资料,这种界面估计用netbean或idea都可以自动生成. 解决方案二: import java.awt.Frame; import java.awt.Graphics; import java.awt.GridLayout; import java.awt.event.Act

使用Java Swing 创建一个XML编辑器

xml|创建 我想您一定对XML有所了解,说不定您现在还跃跃欲试想写一段XML文本呢,可是现在能找到的跨平台的.免费的XML编辑器太少了.所以在本文中,我想介绍一下或者说带您一步一步的开发一个简单的XML编辑器,当然我们要用到一些最常见的Java 2 Swing组件,不过这些都是免费的,有些是JDK中的,有些是可以从网上下载的.我想通过本文,你就可以创建一个属于你自己的XML编辑器. 先让我介绍一下本文辑写的思路.首先我想简要的讨论一下XML和为什么树型结构比较适合用来显示XML,然后我们来看一

教您如何利用Java Swing实现游戏开发

Java咖啡馆已经开张不少时日了,如果你已经喜欢上了Java这杯咖啡的味道,那么记得常来哦.这一次,我们为大家准备了一大杯香浓的咖啡--将以开发一个"连连看"游戏为蓝本,和大家共同学习Java中Swing的用法,当你细心品味这杯咖啡后,你会发现,不但Java这杯咖啡还别有一番风味,而且还学会了专业游戏的开发方法,真是两全其美! 为了让大家先睹为快,下图便是游戏的截图.大家可以下载游戏试玩(下载游戏程序:下载源文件),然后在命令行方式下使用java -jar kyodai.jar来运行.

java swing如何添加背景图片并能根据窗口大小进行缩放

前段时间在用JAVA SWING做个客户端的时候,有要在一块主面板上添加背景图片的需求,于是自己在网上找了些资料研究一下,有些网友说用JLabel来做,通过设置它的icon属性来实现,但个人感觉这种做法很HACK,呵呵,而且这种方法容易带来在上面的内容被遮住等等的问题,所以个人更喜欢用一个继承JPanel的类来实现的方法,其实我感觉它跟Web中的层的概念有几分相似吧,只需要把这个"层"加到面板的最下面,作为垫底的,就OK了,来看看怎样实现它: import javax.swing.JP

Java Swing创建自定义闪屏:在闪屏上添加Swing进度条控件(转)

  本文将讲解如何做一个类似MyEclipse启动画面的闪屏,为Java Swing应用程序增添魅力.   首先看一下效果图吧,       原理很简单,就是创建一个Dialog,Dialog有一个进度条和一个Label用来分别显示进度和进度信息,而Dialog的宽度和高度正是闪屏图片的宽度和高度.然后将闪屏图片贴到Dialog中作为整个窗体的背景,Dialog显示时覆盖闪屏所处的区域.由于Dialog显示时闪屏并没有消失,且Dialog的X.Y及宽高都与闪屏图片一致,因此实际切换时,非常流畅,