• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

java 搞代码 4年前 (2022-01-09) 15次浏览 已收录 0个评论
  1. Java之创建窗口和程序片详解,如下所示:

            1. 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.tempora<p style="color:transparent">本文来源gao!daima.com搞$代!码网</p>l.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之创建窗口和程序片详解的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Java之创建窗口和程序片详解

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址