您好,欢迎访问一九零五行业门户网

Java之创建窗口和程序片详解

java之创建窗口和程序片详解,如下所示:
init()方法:程序片第一次被创建,初次运行初始化程序片时调用。 
       stop()方法:每次程序片从web浏览器的视线中离开时调用,时程序片能关闭代价高昂的操作;同样在调用destroy()前调用。
       destroy()方法:程序片不再需要,将它从页面中卸载时调用。
       start()方法:每当程序片进入web浏览器中,并且允许程序片启动他的常规操作时调用(特殊的程序片被stop()关闭);同样在init()后调用。
     paint()方法:基础类component的一部分(继承结构中上朔三级)。作为update()的一部分调用,以便对程序片的画布进行特殊的描绘。
2.事件模型:(1)先在类中添加addxxxxxlistener()方法。
                     (2)重写执行接口的方法。
package thirteen;import java.awt.*;import java.awt.event.*;import java.applet.*;public class button2new extends applet {     button b1 = new button(button1), b2 = new button(button2);public void init() {         b1.addactionlistener(new b1());         b2.addactionlistener(new b2());         add(b1);         add(b2);     }class b1 implements actionlistener {public void actionperformed(actionevent e) {             getappletcontext().showstatus(button1);         }     }class b2 implements actionlistener {public void actionperformed(actionevent e) {             getappletcontext().showstatus(button2);         }     } }
3.制作窗口:(1)main()方法中新建一个frame类,并将applet的衍生类给其初始化。
                     (2)继承windowadapter类,并重写windowclosing()方法。
                     (3)执行frame的setvisible()方法。
package thirteen;import java.applet.*;import java.applet.*;import java.awt.borderlayout;import java.awt.button;import java.awt.textfield;import java.awt.desktop.action;import java.awt.frame;import java.awt.event.*;import java.time.temporal.temporalqueries;import javax.swing.table.tablerowsorter;import org.omg.corba.floatseqhelper;public class textnew extends applet {     button b1 = new button(get text), b2 = new button(set text);     textfield t1 = new textfield(30), t2 = new textfield(30), t3 = new textfield(30);     string s = new string();public void init() {         b1.addactionlistener(new b1());         b2.addactionlistener(new b2());         t1.addtextlistener(new t1());         t1.addactionlistener(new t1a());         t1.addkeylistener(new t1k());         add(b1);         add(b2);         add(t1);         add(t2);         add(t3);     }class t1 implements textlistener {public void textvaluechanged(textevent e) {             t2.settext(t1.gettext());         }     }class t1a implements actionlistener {private int count = 0;         @overridepublic void actionperformed(actionevent e) {// todo 自动生成的方法存根t3.settext(t1 action event  + count++);         }     }class t1k extends keyadapter {public void keytyped(keyevent e) {             string tstring = t1.gettext();if (e.getkeychar() == keyevent.vk_back_space) {if (tstring.length() > 0) {                     tstring = tstring.substring(0, tstring.length() - 1);                     t1.settext(tstring);                 }             }elset1.settext(t1.gettext()+character.touppercase(e.getkeychar()));             t1.setcaretposition(t1.gettext().length());             e.consume();         }     }    class b1 implements actionlistener{public void actionperformed(actionevent e){             s=t1.getselectedtext();if(s.length()==0)s=t1.gettext();             t1.seteditable(true);         }     }class b2 implements actionlistener{public void actionperformed(actionevent e){             t1.settext(insert by button2:+s);             t1.seteditable(false);;         }     }    public static void main(string[] args){         textnew applet=new textnew();         frame aframe=new frame(textnew);         aframe.addwindowlistener(new windowadapter() {public void windowclosing(windowevent e){                 system.exit(0);             }         });         aframe.add(applet, borderlayout.center);         aframe.setsize(300,200);         applet.init();         applet.start();         aframe.setvisible(true);     } }
4.javabean要求:
(1)所有的类必须放在一个包中,在web中没有包是不存在的。
(2)所有的类必须声明为public class,这样才能够被外部访问。
(3)类中所有的属性都必须封装,使用private声明。
(4)封装的属性如果需要被外部所操作,则必须编写对应的setter,getter方法。
(5)一个javabean中至少存在一个无参构造方法。
5.swing各种边框的一个例子:
package thirteen;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;public class borders extends jpanel {static jpanel showborder(border b) {         jpanel jpanel = new jpanel();         jpanel.setlayout(new borderlayout());         string nm = b.getclass().tostring();         nm = nm.substring(nm.lastindexof('.') + 1);         jpanel.add(new jlabel(nm, jlabel.center), borderlayout.center);         jpanel.setborder(b);return jpanel;     }public borders() {         setlayout(new gridlayout(2, 4));         add(showborder(new titledborder(title)));         add(showborder(new etchedborder()));         add(showborder(new lineborder(color.blue)));         add(showborder(new matteborder(5, 5, 30, 30, color.green)));         add(showborder(new bevelborder(bevelborder.raised)));         add(showborder(new softbevelborder(bevelborder.lowered)));         add(showborder(new compoundborder(new etchedborder(), new lineborder(color.red))));     }public static void main(string[] args) {         show.inframe(new borders(), 500, 300);     }     static class show {public static void inframe(jpanel jpanel, int width, int height) {             string title = jpanel.getclass().tostring();if (title.indexof(class) != -1)                 title = title.substring(6);             jframe frame = new jframe(title);             frame.addwindowlistener(new windowadapter() {public void windowclosing(windowevent e) {                     system.exit(0);                 }             });             frame.getcontentpane().add(jpanel, borderlayout.center);             frame.setsize(width, height);             frame.setvisible(true);         }     } }
以上就是java之创建窗口和程序片详解的详细内容。
其它类似信息

推荐信息