大家将程序编程完成打开运行窗口进行运行的时候,总是觉得运行窗口比较小,不方便程序运行,那java运行窗口怎么放大?接下来我们就来给大家讲解一下这方面的内容。
代码如下:
//1.窗体启动时最大化 //Frame1.java import java.awt.*; import java.awt.event.*; import javax.swing.UIManager; public class Frame1 extends WindowAdapter { public Frame1() { Frame f = new Frame(); f.addWindowListener(this); //将Frame1设为f的事件处理者 Dimension screenSize = Toolkit.getDefaultToolkit() .getScreenSize(); //得到屏幕的尺寸 f.setLocation(0, 0); f.setSize(screenSize.width, screenSize.height); //将窗体的尺寸设为屏幕的尺寸 f.setVisible(true); } public static void main(String[] args) { new Frame1(); } public void windowClosing(WindowEvent e) { System.exit(0); } }
如何实现多次运行?
java实现一个程序运行时的启动窗口效果,如常用的microsoft word、 borland jbuilder 等,这样的窗口称为信息窗口。使用信息窗口的好处是可以使用户在等待软件主界面出现前的一段时间中得知软件运行状态。本例将演示如何来实现信息窗口,当打开程序时,信息窗口先显示,并在窗口上倒计时,直到“waiting 0”时,关闭该窗口,显示程序的主窗口。
该功能的主要实现方法如下:
一般来说,大多数的信息窗口是没有标题栏的,因此信息窗口不能由继承jframe 类来实现,一种简单的做法是通过继承jwindow 来实现(当然继承window 类也可以,但一个原则是尽量使用swing 中的界面
类)。另外,本例用到java.awt 包中的mediatracker 类。使用该类的好处是可以更好地管理程序中要使用的图片,同时还可以保证图片和界面同时显示,避免了窗口显示后很久才显示图片的缺点。
具体操作步骤如下:
1.新建一个project,取名为jspleshwindowdemo,其他设置按默认值。
2.新建一个application ,取名为jspleshwindowdemo,主窗口取名为mainframe,主窗口标题取名为jspleshwindowdemo。
3.先来编写信息窗口的代码。新建一个新类spleshwindow.java,继承java.swing.jwindow类。在spleshwindow 类中,定义新的属性,代码如下:
private string statusstr=null; //信息窗口中要显示的信息 private image logoimg=null; //信息窗口中的显示图片
4.向构造方法中添加代码,加载图片并初始化窗体,实现代码如下:
public spleshwindow(jframe owner) { //以jframe 对象为参数,可以是信息窗口和主窗口交互 super( owner ); // 加载图片 logoimg=gettoolkit().getimage( classloader.getsystemresource("images/splesh.jpg") ); // 等待图片加载完成 java.awt.mediatracker tracker=new java.awt.mediatracker( this ); //创建一个mediatracker 对象 tracker.addimage( logoimg , 0 ); //将图片放入mediatracker 对象中,序号为0 try{ //等待直到图片加载完成 tracker.waitforall(); }catch ( interruptedexception e ) { e.printstacktrace(); } // 设置信息窗体在屏幕上的显示位置 setlocation( gettoolkit().getscreensize().width/2 - logoimg.getwidth(this)/2 , gettoolkit().getscreensize().height/2 - logoimg.getheight(this)/2 ); setsize( logoimg.getwidth(this) , logoimg.getheight(this) ); // 设置窗口大小 }
5.编写设置显示信息的方法,代码如下:
public void setstatus(string status) { statusstr = status; paint(getgraphics()); // 重画窗口来更新信息窗口中的显示信息 }
6.重置paint()方法来绘制图片和显示信息的方法,代码如下:
public void paint(graphics g) { /**@todo override this java.awt.component method*/ super.paint(g); //绘制图片 if (logoimg != null) g.drawimage(logoimg, 0, 0, this); //绘制显示信息 if (statusstr != null) { g.setcolor(color.red); g.drawstring(statusstr, 240, getsize() .height - 250); } }
7.编写mainframe 类,实现java.lang.runnable 接口,并定义新的属性,设置如下:
private spleshwindow spleshwindow=null;
8.向mainframe 类的初始化方法中,添加运行信息窗口的代码,实现代码如下:
private void jbinit() throws exception { //seticonimage(toolkit.getdefaulttoolkit().createimage(mainframe.class.getresource("[your icon]"))); contentpane = (jpanel) this.getcontentpane(); contentpane.setlayout(borderlayout1); this.setsize(new dimension(400, 300)); this.settitle("jspleshwindowdemo"); //创建新的线程,运行信息窗口 thread t = new thread(this); t.start(); // 等待信息窗口显示 try { t.join(); } catch (interruptedexception e) { e.printstacktrace(); } // 向信息窗体中显示消息 long x = system.currenttimemillis(); while (system.currenttimemillis() - x < 35000) { system.out.print("waiting " + (35000 - system.currenttimemillis() + x + " \r")); // you can set status string in splash window spleshwindow.setstatus("waiting " + (35 - (long)(system.currenttimemillis() / 1000) + (long)(x / 1000))); } //关闭信息窗体 if (spleshwindow != null) { spleshwindow.dispose(); spleshwindow = null; } }
9.编写mainframe 类的run()方法,如下所示:
public void run() { //新建一个信息窗体并显示 spleshwindow = new spleshwindow(this); spleshwindow.show(); // throw new java.lang.unsupportedoperationexception("method run() not yet implemented."); }
Java实现软件运行时启动信息窗口的方法就是以上这些,大家按照以上的方法做就可以了,如果想要放大java运行窗口,参考以上的代码就可以实现窗口的最大化!最后大家如果想要了解更多java入门知识,敬请关注奇Q工具网。
推荐阅读: