在java swing编程中,程序员还可以自定义对话框,一般可以从jdialog类来继承。下面给出一个对话框类的代码:
| class helpabout extends jdialog implements actionlistener { javaword mainframe; jbutton okbutton; javax.swing.timer mytimer; int counter=0; public helpabout(javaword mainframe) { super(mainframe,"关于本程序的说明",true); //true 代表为有模式对话框 this.mainframe= mainframe; jpanel contentpanel=new jpanel(); contentpanel.setlayout(new borderlayout()); jlabel imagelabel=new jlabel(new imageicon(".\\images\\javalogo.gif")); contentpanel.add(imagelabel,borderlayout.west); jpanel authorinfopane=new jpanel(); authorinfopane.setlayout(new gridlayout(1,1)); jtextarea aboutcontent=new jtextarea("本程序是作者在学习java2 swing编程的一个简单的程序,\n并不作为商业目的使用。\n作者的联系方式是:\n"); aboutcontent.enable(false); authorinfopane.add(aboutcontent); contentpanel.add(authorinfopane,borderlayout.north); jpanel sysinfopane=new jpanel(); sysinfopane.setlayout(new gridlayout(5,1)); sysinfopane.setborder(borderfactory.createloweredbevelborder()); contentpanel.add(sysinfopane,borderlayout.center); jlabel username=new jlabel("本机的用户名为:"+system.getproperty("user.name")); jlabel osname=new jlabel("本机的操作系统是:"+system.getproperty("os.name")); jlabel javaversion=new jlabel("本机中所安装的java sdk的版本号是:"+system.getproperty("java.version")); jlabel totalmemory=new jlabel("本机中java虚拟机所可能使用的总内存数:"+runtime.getruntime().totalmemory()+"字节数" ); jlabel freememory=new jlabel("本机中java虚拟机所剩余的内存数?quot;+runtime.getruntime().freememory()+"字节数" ); sysinfopane.add(username); sysinfopane.add(osname); sysinfopane.add(javaversion); sysinfopane.add(totalmemory); sysinfopane.add(freememory); jpanel okpane=new jpanel(); okbutton=new jbutton("确定(o)",new imageicon(".\\images\\ok.gif")); okbutton.setmnemonic('o'); //设置快捷键为"alt + o" /*以下代码是设置案钮的rollover图象*/ icon rollover = new imageicon(".\\images\\exit.gif"); icon general = new imageicon(".\\images\\ok.gif"); icon press = new imageicon(".\\images\\help.gif"); okbutton.setrolloverenabled(true); okbutton.seticon(general); //设置离开时的图象 okbutton.setrollovericon(rollover); //设置在按纽上时的图象 okbutton.setpressedicon(press); //设置在按下按纽时的图象 this.getrootpane().setdefaultbutton(okbutton); //设置该按钮为该对话框的默认的按钮?. okbutton.addactionlistener(this); okpane.add(okbutton); contentpanel.add("south",okpane); setcontentpane(contentpanel); // this.setresizable(false); //设置对话框为不可改变大小 mytimer=new javax.swing.timer(1000,this); mytimer.start(); } public void actionperformed(actionevent parm1) { // todo: add your code here if(parm1.getsource()==okbutton) { dispose(); } else if(parm1.getsource()==mytimer) { counter++; this.settitle("当前的定时器的值为:"+counter+"秒"); } } } |
| helpabout aboutdialog=new helpabout(this); aboutdialog.setsize(500,500); aboutdialog.show(); |
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器