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); } } }
Atas ialah kandungan terperinci Java之创建窗口和程序片详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Panduan untuk Square Root di Java. Di sini kita membincangkan cara Square Root berfungsi di Java dengan contoh dan pelaksanaan kodnya masing-masing.

Panduan Nombor Sempurna di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor Perfect dalam Java?, contoh dengan pelaksanaan kod.

Panduan untuk Penjana Nombor Rawak di Jawa. Di sini kita membincangkan Fungsi dalam Java dengan contoh dan dua Penjana berbeza dengan contoh lain.

Panduan untuk Weka di Jawa. Di sini kita membincangkan Pengenalan, cara menggunakan weka java, jenis platform, dan kelebihan dengan contoh.

Panduan untuk Nombor Armstrong di Jawa. Di sini kita membincangkan pengenalan kepada nombor Armstrong di java bersama-sama dengan beberapa kod.

Panduan untuk Nombor Smith di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor smith di Jawa? contoh dengan pelaksanaan kod.

Dalam artikel ini, kami telah menyimpan Soalan Temuduga Spring Java yang paling banyak ditanya dengan jawapan terperinci mereka. Supaya anda boleh memecahkan temuduga.

Java 8 memperkenalkan API Stream, menyediakan cara yang kuat dan ekspresif untuk memproses koleksi data. Walau bagaimanapun, soalan biasa apabila menggunakan aliran adalah: bagaimana untuk memecahkan atau kembali dari operasi foreach? Gelung tradisional membolehkan gangguan awal atau pulangan, tetapi kaedah Foreach Stream tidak menyokong secara langsung kaedah ini. Artikel ini akan menerangkan sebab -sebab dan meneroka kaedah alternatif untuk melaksanakan penamatan pramatang dalam sistem pemprosesan aliran. Bacaan Lanjut: Penambahbaikan API Java Stream Memahami aliran aliran Kaedah Foreach adalah operasi terminal yang melakukan satu operasi pada setiap elemen dalam aliran. Niat reka bentuknya adalah
