欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Swing
swing入門(mén)  
  1  2005-12-30 12:15:26.0  
 
 本教程面向的是 Swing 的初學(xué)者。您可能知道其他人也在使用它,或者在您使用的應用程序中曾看見(jiàn)過(guò)它。再或者您可能已經(jīng)親自嘗試使用過(guò)它。不管屬于哪種情況,本教程都將帶您經(jīng)歷構建一個(gè)基本的 Swing 應用程序的過(guò)程,先從最常見(jiàn)的 HelloWorld 應用程序開(kāi)始。當您在自己的機器上運行它之后,我們將向您介紹一些關(guān)于 Swing 的知識:創(chuàng )建一個(gè)航班預訂系統,逐漸向其中添加內容,直到您得到一個(gè)基本的,但卻完全能夠工作的應用程序.
 
 

開(kāi)始之前

關(guān)于本教程

本教程面向的是 Swing 的初學(xué)者。您可能知道其他人也在使用它,或者在您使用的應用程序中曾看見(jiàn)過(guò)它。再或者您可能已經(jīng)親自嘗試使用過(guò)它。不管屬于哪種情況,本教程都將帶您經(jīng)歷構建一個(gè)基本的 Swing 應用程序的過(guò)程,先從最常見(jiàn)的 HelloWorld 應用程序開(kāi)始。當您在自己的機器上運行它之后,我們將向您介紹一些關(guān)于 Swing 的知識:創(chuàng )建一個(gè)航班預訂系統,逐漸向其中添加內容,直到您得到一個(gè)基本的,但卻完全能夠工作的應用程序.

在學(xué)習本教程期間,您將了解 Swing 中的所有入門(mén)組件;所謂入門(mén)組件,指的是您用來(lái)構造簡(jiǎn)單用戶(hù)界面(UI)的組件。您將學(xué)習如何用基本的方法來(lái)設計這些組件的屬性,以及如何讓這些 Swing 組件與其他組件交互。您還將學(xué)習完成 Swing 知識還需要的其他 UI 概念,其中包括布局、事件/偵聽(tīng)器和數據模型。在結束這篇教程的時(shí)候,您應當能夠構建一個(gè)簡(jiǎn)單的 Swing 應用程序。

請注意,本教程 不是 面向 Swing 初學(xué)者的全面指南。有專(zhuān)門(mén)用于 Swing 學(xué)習的整本的書(shū)籍,所以我不打算在這里重復這份工作。本教程的側重點(diǎn)是初學(xué)者,將介紹一些在實(shí)際工作中最可能運行的最常用的組件和函數。

如果在完成這篇教程后,您有興趣進(jìn)一步擴展自己的 Swing 編程知識,那么您應當閱讀稱(chēng)為“中級 Swing”的同一系列教程,它建立在這篇教程介紹的概念和開(kāi)發(fā)的示例應用程序之上。

工具和源代碼下載

要完成本教程,需要以下工具:

  • JDK 5.0。
  • 一個(gè) IDE 或文本編輯器。推薦使用 Eclipse(請參閱 參考資料,以獲得關(guān)于 Eclipse 的更多信息)。
  • 用于航班預訂系統的 。

關(guān)于作者

Michael Abernethy 目前是位于德克薩斯澳斯汀的 IBM WebSphere System Management 團隊的測試小組組長(cháng)。在這篇工作之前,他是多個(gè)客戶(hù)地點(diǎn)的 Swing UI 開(kāi)發(fā)人員。

Swing簡(jiǎn)介

UI 組件簡(jiǎn)介

 在開(kāi)始學(xué)習 Swing 之前,必須回答針對真正初學(xué)者的一個(gè)問(wèn)題:什么是 UI?初學(xué)者的答案是“用戶(hù)界面”。但是因為本教程的目標是要保證您不再只是個(gè)初學(xué)者,所以我們需要比這個(gè)定義更高級的定義。

所以,我再次提出這個(gè)問(wèn)題:什么是 UI?您可能把它定義成您按下的按鈕、打字的地址欄 、打開(kāi)和關(guān)閉的窗口,等等,這些都是 UI 的元素,但是除了在屏幕上看到的這些之外,還有更多都是 UI 元素。比如鼠標、鍵盤(pán)、音量、屏幕顏色、使用的字體,以及一個(gè)對象相對于另一個(gè)對象的位置,這些都包含在 UI 之中。實(shí)際上,在計算機和用戶(hù)的交互之中扮演角色的任何對象都是 UI 的組成部分。這看起來(lái)足夠簡(jiǎn)單,但是您應當驚訝的是,有許多人和大型公司已經(jīng)為它努力了很多年。實(shí)際上,現在有的大學(xué)專(zhuān)業(yè)的惟一課程就是研究這種交互。

Swing 的角色

 Swing 是 Java 平臺的 UI —— 它充當處理用戶(hù)和計算機之間全部交互的軟件。它實(shí)際上充當用戶(hù)和計算機內部之間的中間人。Swing 到底是如何做這項工作的呢?它提供了處理前面一節中描述的 UI 各方面內容的機制:

  • 鍵盤(pán):Swing 提供了捕捉用戶(hù)輸入的方法。
  • 顏色:Swing 提供改變在屏幕上看到的顏色的方法。
  • 打字的地址欄:Swing 提供了文本組件,處理所有普通任務(wù)。
  • 音量:Swing 不太擅長(cháng)。

無(wú)論如何,Swing 為您提供了創(chuàng )建自己的 UI 所需要的所有工具。

MVC

 Swing 甚至走得更遠一步,在基本的 UI 原則之上又放上了一個(gè)公共的設計模式。這個(gè)設計模式叫做模型-視圖-控制器(Model-View-Controller,MVC),它試圖“把角色分開(kāi)”。MVC 讓負責顯示的代碼、處理數據的代碼、對交互進(jìn)行響應并驅動(dòng)變化的代碼彼此分離。

有點(diǎn)迷惑?如果我為這個(gè)設計模式提供一個(gè)現實(shí)世界的非技術(shù)性示例,它就比較容易了。請想像一次時(shí)裝秀。把秀場(chǎng)當成 UI,假設服裝就是數據,是展示給用戶(hù)的計算機信息?,F在,假設這次時(shí)裝秀中只有一個(gè)人。這個(gè)人設計服裝、修改服裝、同時(shí)還在 T 臺上展示這些服裝。這看起來(lái)可不是一個(gè)構造良好的或有效率的設計。

現在,假設同樣的時(shí)裝秀采用 MVC 設計模式。這次不是一個(gè)人做每件事,而是將角色分開(kāi)。時(shí)裝模特(不要與 MVC 縮寫(xiě)中的模型混淆)展示服裝。他們扮演的角色是視圖。他們知道展示服裝(數據的)適當方法,但是根本不知道如何創(chuàng )建或設計服裝。另一方面,時(shí)裝設計師充當控制器。時(shí)裝設計師對于如何在 T 臺上走秀沒(méi)有概念,但他能創(chuàng )建和操縱服裝。時(shí)裝模特和設計師都能獨立地處理服裝,但都有自己的專(zhuān)業(yè)領(lǐng)域。

這就是 MVC 設計模式背后的概念:讓 UI 的每個(gè)方面處理它擅長(cháng)的工作。如果您仍然不明白,那么教程后面的示例有望消除您的迷惑 —— 但是在您繼續進(jìn)行的時(shí)候,請記住基本的原則:用可視組件顯示數據,同時(shí)讓其他類(lèi)操縱數據。

JComponent

 Swing 的整個(gè)可視組件庫的基礎構造塊是 JComponent。它是所有組件的父類(lèi)。它是一個(gè)抽象類(lèi),所以不能創(chuàng )建 JComponent,但是作為類(lèi)層次結構的結果,從字面意義來(lái)說(shuō)它包含了數百個(gè)函數,Swing 中的每個(gè)組件都可以使用這些函數。顯然,有些概念要比其他概念重要,所以對于本教程,需要學(xué)習的重要的東西是:

  • JComponent 不僅是 Swing 組件的基類(lèi),還是定制組件的基類(lèi)(有關(guān)的更多信息在“中級 Swing”教程中)。

  • 它為所有組件提供了繪制的基礎架構 —— 一些方便進(jìn)行組件定制的東西(同樣,在“中級 Swing”中,有關(guān)于這個(gè)主題的更多信息)。

  • 它知道如何處理所有的鍵盤(pán)按鍵。所以類(lèi)只需要偵聽(tīng)特定的鍵。

  • 它包含 add() 方法,可以添加其他 JComponent。換種方式來(lái)看,可以把任意 Swing 組件添加到其他任何 Swing 組件,從而構造嵌套組件(例如,JPanel 包含 JButton,甚至包含一些古怪的組合,例如 JMenu 包含 JButton)。

簡(jiǎn)單的Swing小部件

JLabel

 Swing 庫中最基礎的組件是 JLabel。它所做的正是您所期望的:呆在那兒,看起來(lái)很漂亮,描述其他組件。下圖顯示了的 JLabel 實(shí)際應用:

JLabel

不太吸引人,但是仍然有用。實(shí)際上,在整個(gè)應用程序中,不僅把 JLabel 用作文本描述,還將它用作圖片描述。每當在 Swing 應用程序中看到圖片的時(shí)候,它就有可能是 JLabel。JLabel 對于 Swing 初學(xué)者來(lái)說(shuō)沒(méi)有許多意料之外的方法?;镜姆椒òㄔO置文本、圖片、對齊以及標簽描述的其他組件:

  • get/setText()獲取/設置標簽的文本。

  • get/setIcon()獲取/設置標簽的圖片。

  • get/setHorizontalAlignment()獲取/設置文本的水平位置。

  • get/setVerticalAlignment()獲取/設置文本的垂直位置。

  • get/setDisplayedMnemonic()獲取/設置標簽的訪(fǎng)問(wèn)鍵(下劃線(xiàn)文字)。

  • get/setLabelFor()獲取/設置這個(gè)標簽附著(zhù)的組件,所以當用戶(hù)按下 Alt+訪(fǎng)問(wèn)鍵時(shí),焦點(diǎn)轉移到指定的組件。

JButton

 Swing 中的基本動(dòng)作組件 JButton,是與每個(gè)窗口中都能看到的 OK 和 Cancel 一樣的按鈕;這些按鈕所做的正是您希望它們做的工作 —— 在單擊它們之后,將發(fā)生一些事情。到底會(huì )發(fā)生什么呢?您必須定義發(fā)生的內容(請參閱 事件,以獲得更多信息)。一個(gè) JButton 實(shí)例看起來(lái)如下所示:

JButton 

用來(lái)改變 JButton 屬性的方法與 JLabel 的方法類(lèi)似(您可能發(fā)現,在大多數 Swing 組件中,這些屬性都類(lèi)似)。它們控制文本、圖片和方向:

  • get/setText()獲取/設置按鈕的文本。
  • get/setIcon()獲取/設置按鈕的圖片。
  • get/setHorizontalAlignment()獲取/設置文本的水平位置。
  • get/setVerticalAlignment()獲取/設置文本的垂直位置。
  • get/setDisplayedMnenomic()獲取/設置訪(fǎng)問(wèn)鍵(下劃線(xiàn)字符),與 Alt 按鈕組合時(shí),造成按鈕單擊。

除了這些方法,我還要介紹 JButton 包含的另外一組方法。這些方法利用了按鈕的所有不同狀態(tài)。狀態(tài)是對組件進(jìn)行描述的一個(gè)屬性,通常采用真/假設置。在 JButton 中,可以包含以下可能狀態(tài):活動(dòng)/不活動(dòng)、選中/沒(méi)選中、鼠標經(jīng)過(guò)/鼠標離開(kāi)、按下/沒(méi)按下,等等。另外,可以組合這些狀態(tài),例如按鈕可以在鼠標經(jīng)過(guò)的同時(shí)被選中?,F在您可能會(huì )問(wèn)自己用這些狀態(tài)到底要做什么。作為示例,請看看您的瀏覽器上的后退按鈕。請注意在鼠標經(jīng)過(guò)它的時(shí)候,圖片是如何變化的,在按下該按鈕時(shí),圖片又是如何變化的。這個(gè)按鈕利用了不同的狀態(tài)。每個(gè)狀態(tài)采用不同的圖片,這是提示用戶(hù)交互正在進(jìn)行的一種普遍并且有效的方式。JButton 上的狀態(tài)方法是:

  • get/setDisabledIcon()
  • get/setDisabledSelectedIcon()
  • get/setIcon()
  • get/setPressedIcon()
  • get/setRolloverIcon()
  • get/setRolloverSelectedIcon()
  • get/setSelectedIcon()

JTextField

 Swing 中的基本文本組件是 JTextField,它允許用戶(hù)在 UI 中輸入文本。我肯定您熟悉文本字段:要掌握本教程,則必須使用一個(gè)文本字段輸入用戶(hù)名和口令。您輸入文本、刪除文本、選中文本、把文字四處移動(dòng) —— Swing 替您負責所有這些工作。作為 UI 開(kāi)發(fā)人員,利用 JJTextField 時(shí),實(shí)際上并不需要做什么。

在任何情況下,這是 JTextField 實(shí)際使用時(shí)看起來(lái)的樣子:

JTextField 

在處理 JTextField 時(shí),只需要關(guān)注一個(gè)方法 —— 這應當是很明顯的,這個(gè)方法就是設置文本的方法: get/setText(),用于獲取/設置 JTextField 中的文本。

JFrame

 迄今為止,我介紹了 Swing 的三個(gè)基本構造塊:標簽、按鈕和文本字段;但是現在需要個(gè)地方放它們,希望用戶(hù)知道如何處理它們。JFrame 類(lèi)就是做這個(gè)的——它是一個(gè)容器,允許您把其他組件添加到它里面,把它們組織起來(lái),并把它們呈現給用戶(hù)。它有許多其他好處,但是我認為先看看它的圖片最簡(jiǎn)單:

JFrame 

JFrame 實(shí)際上不僅僅讓您把組件放入其中并呈現給用戶(hù)。比起它表面上的簡(jiǎn)單性,它實(shí)際上是 Swing 包中最復雜的組件。為了最大程度地簡(jiǎn)化組件,在獨立于操作系統的 Swing 組件與實(shí)際運行這些組件的操作系統之間,JFrame 起著(zhù)橋梁的作用。JFrame 在本機操作系統中是以窗口的形式注冊的,這么做之后,就可以得到許多熟悉的操作系統窗口的特性:最小化/最大化、改變大小、移動(dòng)。但是對于本教程的目標來(lái)說(shuō),把 JFrame 當作放置組件的調色板就足夠了??梢栽?JFrame 上調用的一些修改屬性的方法是:

  • get/setTitle()獲取/設置幀的標題。
  • get/setState()獲取/設置幀的最小化、最大化等狀態(tài)。
  • is/setVisible()獲取/設置幀的可視狀態(tài),換句話(huà)說(shuō),是否在屏幕上顯示。
  • get/setLocation()獲取/設置幀在屏幕上應當出現的位置。
  • get/setSize()獲取/設置幀的大小。
  • add()將組件添加到幀中。

簡(jiǎn)單應用程序

 就像所有的“x 入門(mén)”教程一樣,本教程也包含必不可少的 HelloWorld 演示。但這個(gè)示例不僅對觀(guān)察 Swing 應用程序如何工作有用,還對確保設置正確很有用。一旦使這個(gè)簡(jiǎn)單的應用程序能夠成功運行,那么之后的每個(gè)示例也將能夠運行。下圖顯示了完成后的示例:

HelloWorld 示例 

第一步是創(chuàng )建類(lèi)。將組件放在 JFrame 上的 Swing 應用程序需要繼承 JFrame 類(lèi),如下所示:

public class HelloWorld extends JFrame            

這樣做之后,就得到上面描述的所有 JFrame 屬性,最重要的是操作系統對窗口的本機支持。下一步是把組件放在屏幕上。在這個(gè)示例中,使用了一個(gè) null 布局。在教程的后面部分,您將學(xué)到更多關(guān)于布局和布局管理器的內容。但對于這個(gè)示例,可以用數字表示 JFrame 上的像素位置:

            public HelloWorld()            {            super();            this.setSize(300, 200);            this.getContentPane().setLayout(null);            this.add(getJLabel(), null);            this.add(getJTextField(), null);            this.add(getJButton(), null);            this.setTitle("HelloWorld");            }            private javax.swing.JLabel getJLabel() {            if(jLabel == null) {            jLabel = new javax.swing.JLabel();            jLabel.setBounds(34, 49, 53, 18);            jLabel.setText("Name:");            }            return jLabel;            }            private javax.swing.JTextField getJTextField() {            if(jTextField == null) {            jTextField = new javax.swing.JTextField();            jTextField.setBounds(96, 49, 160, 20);            }            return jTextField;            }            private javax.swing.JButton getJButton() {            if(jButton == null) {            jButton = new javax.swing.JButton();            jButton.setBounds(103, 110, 71, 27);            jButton.setText("OK");            }            return jButton;            }            

現在組件都放在了 JFrame 上,并且需要在屏幕上顯示 JFrame,并讓?xiě)贸绦蚩梢赃\行。就像在所有的 Java 應用程序中一樣,必須添加一個(gè) main 方法,才能讓 Swing 應用程序運行。在這個(gè) main 方法中,只需要創(chuàng )建 HelloWorld 應用程序對象,然后調用其 setVisible() 即可:

            public static void main(String[] args)            {            HelloWorld w = new HelloWorld();            w.setVisible(true);            }            

完成了!這就是創(chuàng )建應用程序的所有過(guò)程。

附加的Swing小部件

JComboBox

 在這一節中,我將介紹 Swing 庫中的其他全部組件、如何使用它們、它們看起來(lái)是什么樣的,等等,這部分內容應當讓您更好地了解 Swing 為 UI 開(kāi)發(fā)人員提供了什么。

我們從 JComboBox 開(kāi)始介紹。組合框與下拉選擇相似,區別在于使用組合框時(shí)用戶(hù)可以不從列表中選擇項目,還可以選擇一個(gè)(而且只有一個(gè))項目。在某些版本的組合框中,還可以輸入自己的選擇。瀏覽器的地址欄就是一個(gè)示例:它是一個(gè)允許輸入自己選項的組合框。以下是 JComboBox 在 Swing 中看起來(lái)的樣子:

JComboBox 

JComboBox 的重要函數包括 JComboBox 包含的數據。需要有一種方法來(lái)設置 JComboBox 中的數據、修改數據、在用戶(hù)選擇時(shí)得到用戶(hù)的選擇??梢允褂靡韵?JComboBox 方法:

  • addItem()添加一個(gè)項目到 JComboBox.
  • get/setSelectedIndex()獲取/設置 JComboBox 中選中項目的索引。
  • get/setSelectedItem()獲取/設置選中的對象。
  • removeAllItems()從 JComboBox 刪除所有對象。
  • remoteItem()從 JComboBox 刪除特定對象。

JPasswordField

 JTextField 的一個(gè)細微變化是 JPasswordField,它允許您隱藏在文本字段區域中顯示的字符。畢竟,在您輸入口令的時(shí)候,如果每個(gè)人都能看到,那可沒(méi)什么好處?可能根本就不好,而且在私人數據如此脆弱的今天,您需要所有能夠得到的幫助。以下是 JPasswordField 在 Swing 中看起來(lái)的樣子:

JPasswordField 

JPasswordField 上額外的“安全性”方法對 JTextField 的行為做了輕微改變,所以不能閱讀文本:

  • get/setEchoChar()獲取/設置每次字符輸入時(shí)在 JPasswordField 中顯示的字符。在獲取口令時(shí),不會(huì )返回“回聲”,而是返回實(shí)際的字符。

  • getText() 不應當 使用這個(gè)函數,因為它會(huì )帶來(lái)可能的安全問(wèn)題(String 會(huì )保存在內存中,可能的堆棧轉儲會(huì )暴露口令)。

  • getPassword()這是從 JPasswordField 中獲得口令的恰當方法,因為它返回一個(gè)包含口令的 char[]。為了保證恰當的安全性,數組應當被清為 0,以確保它不會(huì )保留在內存中。

JCheckBox/JRadioButton

 JCheckBox 和 JRadioButton 組件向用戶(hù)呈現選項,通常采用多選的格式。區別是什么?從實(shí)踐的角度來(lái)說(shuō),它們沒(méi)有那么不同。它們的行為方式相同。但是,在一般的 UI 實(shí)踐中,它們有細微差異:JRadioButton 通常組合在一起,向用戶(hù)呈現帶有必選答案的問(wèn)題,而且這些答案具有強制性(這意味著(zhù)問(wèn)題只能有一個(gè)答案)。JRadioButton 的行為保證了這個(gè)用法。一旦選擇了JRadioButton,就不能取消對它的選擇,除非選擇了在同一組中的另外一個(gè)單選鈕。從效果上看,這就保證了選項的惟一和必選。JCheckBox 的不同在于,允許隨機地選擇/取消除選擇,并允許為問(wèn)題選擇多個(gè)答案。

這里是個(gè)示例。問(wèn)題“您是男孩還是女孩!”有兩個(gè)惟一答案選項“男孩”或“女孩”。用戶(hù)必須選擇一個(gè),不能同時(shí)選中。另一方面,問(wèn)題“您的習慣是什么?”的答案有“跑步”、“睡覺(jué)”或“閱讀”,不應當只允許為此問(wèn)題選擇一個(gè)答案,因為人們可能有不止一個(gè)習慣。

把這些 JCheckBoxe 或 JRadioButton 捆綁成一組的類(lèi)是 ButtonGroup 類(lèi)。它允許把選項組織在一起(例如“男孩”和“女孩”),這樣,其中一個(gè)被選擇時(shí),另外一個(gè)就自動(dòng)取消選擇。

以下是 JCheckBox 和 JRadioButton 在 Swing 中看起來(lái)的樣子:

JCheckBox 和 JRadioButton 

需要記住的重要的 ButtonGroup 方法是:

  • add()添加 JCheckBox 或 JRadioButton 到 ButtonGroup。
  • getElements()獲得 ButtonGroup 中的全部組件,允許對它們進(jìn)行迭代,找到其中選中的那個(gè)。

JMenu/JMenuItem/JMenuBar

 JMenu、JMenuItem 和 JMenuBar 組件是在 JFrame 中開(kāi)發(fā)菜單系統的主要構造塊。任何菜單系統的基礎都是 JMenuBar。它平淡而乏味,但卻是必需的,因為每個(gè) JMenu 和 JMenuItem 都要用它構建。要用 setJMenuBar() 方法把 JMenuBar 附著(zhù)到 JFrame。一旦將它附加到 JFrame 中,就可以添加所有想要的菜單、子菜單和菜單項。

JMenu/JMenuItem 的區別看起來(lái)可能很明顯,但實(shí)際上,在幕后看起來(lái)并不像表面那樣??纯搭?lèi)的類(lèi)層次結構,就知道JMenuJMenuItem 的子類(lèi)。但是,在表面上,它們是有區別的:用 JMenu 包含其他 JMenuItem 和 JMenu;JMenuItem 在選中時(shí)觸發(fā)操作。

JMenuItem 也支持快捷鍵的概念。與您用過(guò)的大多數應用程序一樣,Swing 應用程序允許您按下 Ctrl+(某個(gè)鍵)來(lái)觸發(fā)一個(gè)操作,就像選中菜單鍵本身一樣。想想用來(lái)剪切和粘貼的快捷鍵 Ctrl+X 和 Ctrl+V。

除此之外,JMenu 和 JMenuItem 都支持訪(fǎng)問(wèn)鍵。用 Alt 鍵與某個(gè)字母關(guān)聯(lián),模擬菜單本身的選擇(例如,在 Windows 中按下 Alt+F,然后按下 Alt+x 就可以關(guān)閉應用程序)。

以下是包含 JMenu 和 JMenuItem 的 JMenuBar 在 Swing 中的樣子:

JMenuBar、JMenu 和 JMenuItem 

這些類(lèi)需要的重要方法是:

  • JMenuItem and JMenu:
    • get/setAccelerator()獲取/設置用作快捷鍵的 Ctrl+鍵。
    • get/setText()獲取/設置菜單的文本。
    • get/setIcon()獲取/設置菜單使用的圖片。


  • JMenu 專(zhuān)用:
    • add()添加另外一個(gè) JMenu 或 JMenuItem 到 JMenu(創(chuàng )建嵌套菜單)。

JSlider

 在應用程序中 JSlider 支持數值變化。它是一種迅速而簡(jiǎn)單的方式,不僅能讓用戶(hù)以可視形式獲得他們當前選擇的反饋,還能得到可以接受的值的范圍。想像一下這種情況:可以提供一個(gè)文本字段,允許用戶(hù)輸入值,但是這樣做就帶來(lái)了額外的麻煩,要確保輸入的值是數字,還要確保數字符合要求的數值范圍。例如,如果有一個(gè)金融 Web 站點(diǎn),它向您提問(wèn)要在股票上投資的百分比,那么您不得不檢查在文本字段中輸入的值,以確保它們是數字,而且在 0 到 100 之間。如果換用 JSlider,那么就可以確保選擇的是指定范圍內的數字。

在 Swing 中,JSlider 看起來(lái)如下所示:

JSlider 

JSlider 中的重要方法是:

  • get/setMinimum()獲取/設置可以選擇的最小值。
  • get/setMaximum()獲取/設置可以選擇的最大值。
  • get/setOrientation()獲取/設置 JSlider 是上/下還是左/右滾動(dòng)條。
  • get/setValue()獲取/設置 JSlider 的初始值。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
swing入門(mén)教程
利用thread和timer實(shí)現了界面的時(shí)間顯示 各有各的好處
swing/swt可視化開(kāi)發(fā)工具windowbuilder免費了 - pengo - Bl...
Swing文件下載
SWING?組件加載圖片方法
Java圖形用戶(hù)界面設計
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久