溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Swing入門(mén)知識(shí)點(diǎn)有哪些

發(fā)布時(shí)間:2021-12-28 09:23:26 來(lái)源:億速云 閱讀:139 作者:小新 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)Swing入門(mén)知識(shí)點(diǎn)有哪些,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

1.Swing入門(mén)前言:
當(dāng)我們學(xué)習(xí)過(guò)了java中的基本語(yǔ)法,并且熟悉java的面向?qū)ο蠡A(chǔ)以后,我們就可以開(kāi)始簡(jiǎn)單的Swing程序的設(shè)計(jì),用過(guò)Vb的朋友可能會(huì)被它的簡(jiǎn)單的設(shè)計(jì)用戶界面方法所吸引,只需要拖幾個(gè)控件到窗體上,為每個(gè)空件編寫(xiě)event就可以簡(jiǎn)單的實(shí)現(xiàn)界面設(shè)計(jì).但是強(qiáng)大的java也不比vb遜?同樣可以設(shè)計(jì)出精美的界面。

2.Swing入門(mén)概述:

當(dāng)java1.0剛剛出現(xiàn)時(shí)還沒(méi)有swing,當(dāng)時(shí)的GUI基本編程庫(kù),sun取名叫AWT(Abstract Window Tookit),基本AWT庫(kù)處理用戶界面的方法是將這些元素的創(chuàng)建行為交給,底層操作系統(tǒng)的GUI工具箱進(jìn)行處理,來(lái)實(shí)現(xiàn)WORA的目的。而因?yàn)榉N種原因,不同的OS之間存在差異,使得AWT界面庫(kù)存在許多bug。1996年sun同netscape通力合作創(chuàng)建了新的庫(kù)取名Swing。

------如果,沒(méi)有Swing,java的圖形界面就不名一文.------
swing是java的基礎(chǔ)類,是JFC的一部分,完整的JFC是很巨大的,包括的組件也很多。

3.為什么要選擇Swing: Swing具有更豐富而且更加方便的用戶界面元素集合,Swing對(duì)于底層平臺(tái)的依賴更少,因此,特殊平臺(tái)上的bug會(huì)很少Swing會(huì)帶來(lái)交叉平臺(tái)上的統(tǒng)一的視覺(jué)體驗(yàn)

4.許多初學(xué)java的朋友們?cè)趯W(xué)完java的基礎(chǔ)部分后就會(huì)感到很茫然,還是對(duì)java能干什么不是很了解,所以在初步掌握基本的概念后就可以近一步的研究Swing,可以對(duì)初學(xué)者有一定的提高。

下面我們就來(lái)初步的研究一個(gè)程序,個(gè)人覺(jué)得是Swing入門(mén)的很好的代碼。

// a simple exmple that can show the basis of swing  // import pakages which we need  import javax.swing.*;  import java.awt.*;  public class HelloCsdn  {  public static void main(String[] args)  {  HelloCsdnFrame frame=new HelloCsdnFrame();  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  frame.show();  }  }  /** this part we construct a new frame HelloCsdnFrame  */   class HelloCsdnFrame extends JFrame{  public HelloCsdnFrame()  {  setTitle("Hello CSDN.NET");  setSize(WIDTH,HEIGHT);  HelloCsdnPanel panel=new HelloCsdnPanel();  Container c=getContentPane();  c.add(panel);  }  public static final int WIDTH=300;  public static final int HEIGHT=200;  }  /**this part we extend our HelloCsdnFram to JFrame and  construct a new object HelloCsdnPanel and add it on the frame  /*  class HelloCsdnPanel extends JPanel{  public void paintComponent(Graphics g){  super.paintComponent(g);  g.drawString("Hello CSDN.NET",MESSAGE_X,MESSAGE_Y);  }  public static final int MESSAGE_X=100;  public static final int MESSAGE_Y=100;  }  /** A panel that display a message  */

我把此程序分為3part.每一部分都有注釋,這一段代碼是做什么用的。

一起來(lái)分析此程序:在***部分

// import pakages which we need  import javax.swing.*;  import java.awt.*;  public class HelloCsdn  {  public static void main(String[] args)  {  HelloCsdnFrame frame=new HelloCsdnFrame();  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  frame.show();  }  }  /** this part we construct a new frame HelloCsdnFrame  */

可以看到我們首先導(dǎo)入了2個(gè)包 swing 和 awt,創(chuàng)建了一個(gè)object對(duì)這個(gè)object我們進(jìn)行實(shí)例化, 然后用代碼

 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  frame.show(); 來(lái)實(shí)現(xiàn)關(guān)閉Frame,但不是結(jié)束程序,其中止的只是程序的主線程,

第二部分:

class HelloCsdnFrame extends JFrame{  public HelloCsdnFrame()  {  setTitle("Hello CSDN.NET");  setSize(WIDTH,HEIGHT);  HelloCsdnPanel panel=new HelloCsdnPanel();  Container c=getContentPane();  c.add(panel);  }  public static final int WIDTH=300;  public static final int HEIGHT=200;  }  /**this part we extend our HelloCsdnFram to JFrame and  construct a new object HelloCsdnPanel and add it on the frame  /*

在此我們把我們建立的object繼承java的JFrame類,使他有JFrame的屬性.行為.然后設(shè)置標(biāo)題和大小,再次建立一個(gè)新的object HelloCsdnPanel 這是因?yàn)槭窃贘Frame中實(shí)現(xiàn)的所以要建立容器c .把我們建立的panel對(duì)象放入containerc中。

第三部分

class HelloCsdnPanel extends JPanel{  public void paintComponent(Graphics g){  super.paintComponent(g);  g.drawString("Hello CSDN.NET",MESSAGE_X,MESSAGE_Y);  }  public static final int MESSAGE_X=100;  public static final int MESSAGE_Y=100;  }  /** A panel that display a message  */ 繼續(xù)我們繼承剛建立的HelloCsdnPanel

到JPanel使我們的對(duì)象有JPanel的屬性,然后我們才能調(diào)用在frame上輸出字符的方法g.drawString 由此程序我們一方面可以很好的看出java的核心思想----繼承關(guān)系,另一方面可以看出swing的基本構(gòu)架是什么。

關(guān)于“Swing入門(mén)知識(shí)點(diǎn)有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI