Maison  >  Article  >  Java  >  Explication détaillée de la création de fenêtres et de programmes en Java

Explication détaillée de la création de fenêtres et de programmes en Java

零下一度
零下一度original
2017-07-18 15:18:482395parcourir
  1. Explication détaillée de la fenêtre de création Java et de la tranche de programme, comme suit :

            1. init () : le morceau de programme est créé pour la première fois et est appelé lorsque le morceau de programme est initialisé pour la première fois.

méthode stop() : appelée à chaque fois que le programme quitte la vue du navigateur Web. Peut arrêter des opérations coûteuses. ; également appelé avant d'appeler destroy().

Méthode Destroy() : Appelée lorsque le programme n'est plus nécessaire et est désinstallé de la page.

Méthode Start() : Appelée à chaque fois que le programme entre dans le navigateur Web et permet au programme de démarrer ses opérations régulières (les programmes spéciaux sont fermés par stop() également après l'appel à init()) ;

Méthode paint() : partie de la classe de base Component (troisième niveau dans la structure d'héritage). Appelé dans le cadre de update() pour effectuer un rendu spécial sur le canevas du programme.

2. Modèle d'événement : (1) Ajoutez d'abord la méthode addXXXXXListener() à la classe.

(2) Réécrire la méthode d'exécution de l'interface.

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. Créez une fenêtre : (1) Créez une nouvelle classe Frame dans la méthode main() et initialisez-y la classe dérivée de l'applet.

(2) Héritez de la classe WindowAdapter et remplacez la méthode windowClosing().

                 (3) Exécutez la méthode setVisible() de Frame.

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. Exigences JavaBean :

(1) Toutes les classes doivent être placées dans un package. Il n'y a pas de package sur le Web sans package.

(2) Toutes les classes doivent être déclarées comme classe publique afin qu'elles soient accessibles en externe.

(3) Tous les attributs de la classe doivent être encapsulés et déclarés en utilisant private.

(4) Si les propriétés encapsulées doivent être exploitées en externe, les méthodes setter et getter correspondantes doivent être écrites.

(5) Il existe au moins un constructeur sans paramètre dans un JavaBean.

5. Un exemple de différentes bordures 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);
        }
    }

}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn