多執行緒通訊軟體——登入介面的實現

qq_39288090發表於2020-12-07

java實現含註冊端、客戶端、服務端的多執行緒通訊軟體,參考了各個博主
原文連結:https://blog.csdn.net/Alexwym/article/details/80711015

一、JAVA提供的圖形介面類
  • AWT元件:

AWT元件是JDK1.0的時候推出的圖形介面類,它的名字是根據包名而來的:java.awt。
AWT元件是在實現的時候採用的是c和c++的語言混合實現的,並且呼叫了作業系統底層的函式。
由於AWT元件的實現語言和底層函式的呼叫,導致AWT元件無法實現跨平臺性。

  • SWING元件

SWING元件是JDK1.4的時候推出的圖形介面類,它的名字也是根據包名而來的:javax.swing。
SWING元件是基於AWT元件的基礎上,採用純JAVA語言實現的一套跨平臺元件。

  • 但是不管使用AWT元件還是SWING元件開發的應用程式都是可以跨平臺的。
二、常用的元件類
  • 容器元件類:元件上可以新增其他的元件,則該元件就是容器元件。

這裡我們將要用到的是JFrame。它是一個窗體容器元件類(屬於頂級容器)。通常如果我們要實現一個圖形介面,首先一定要先有一個頂級容器。

  • 元素元件類:一般是用來顯示文字、圖片或者接受使用者輸入資訊的元件。

這裡我們要用到的是:

JLabel標籤元素類顯示文字或圖片,也可以兩者一起顯示
JTextField文字輸入框元素元件類接收使用者輸入的資訊,然後將輸入的資訊直接顯示出來。
JPasswordField密碼輸入框元件類接收使用者輸入的資訊,然後把每一個字元都用一個加密符號顯示
JButton按鈕元素元件類顯示文字或圖片,也可以兩者一起顯示,可以點選
  • 上述的容器元件類和元素元件類都是屬於SWING元件中的類,在使用的時候要記得加上包名,eg:javax.swing.Frame;

  • 如果要使用AWT元件,只需要把類名的第一個J去掉,eg:java.awt.Frame.

  • 但是awt元件中沒有密碼輸入框,如果要使用則必須自己利用TextField設計

三、常用的輔助類
  • 輔助類:幫助元件完成某一個特定功能的類

  • 我們這裡需要用到的輔助類如下:

java.awt.FlowLayout流式佈局類佈局類是針對容器元件的,它會讓新增到容器上的元件按照佈局類的方式去排列對齊。如果我們沒有設定窗體的佈局,那麼我們新增的元件就會出現覆蓋的問題,最後只會顯示最後新增的那個元件流式佈局的效果類似於word文件,對元件按行進行排列,當前行滿了再放到下一行。但是不能像word一樣回車換行。
java.awt.Dimension封裝元件寬度和高度的類
javax.swing.ImageIcon圖示類從磁碟上載入一個圖片到記憶體

注意:磁碟中的圖片我們是不能直接用的,必須要先把它載入到記憶體中。

四、登入介面功能

瞭解完我們要使用的元件,接下來我們就開始來做一個登入介面了。
首先我們先想一下登入介面需要有哪些功能?

  • 1.要有輸入賬號密碼的文字框

  • 2.要能夠對輸入的賬號密碼進行驗證。如果不正確則停留在原來的介面,如果正確則彈出一個新介面,並且關閉原來的介面。

四、(一)賬號密碼介面

今天我們就先實現功能(一),那麼根據功能(一)我們先來做個簡單思路分析
實現有賬號密碼輸入框的介面:

  • 1.我們需要先定義個Login類,這個類中我們需要定義一個主函式入口和初始化介面的方法initUI。
  • 2.主函式中,我們要去例項化Login類的物件,並由這個物件去呼叫初始化介面的方法。
  • 3.在initUI方法中,我們要利用JFrame類來實現一個頂層窗體,所以我們要例項化一個JFrame的物件。
  • 4.有了窗體物件後,我們要去設定窗體物件的屬性:佈局、標題、大小、顯示位置、關閉操作、禁止調整大小、可見等等。注意:佈局一定不要忘記設定,並且佈局的設定要在我們開始新增元件之前。
  • 5.設定完窗體後我們就可以去新增各種元件了。需要注意一點元件一定要按照出現的前後順序來新增。在我們這裡依次是圖片、賬號標籤、賬號文字輸入框、密碼標籤、密碼文字輸入框、登入按鈕。

相關文章