java中的容器,java中的容器圖解

本文目錄一覽:

JAVA中的JPanel怎麼使用呢?

使用方法:

JPanel可以為添加到窗體中的輕型控件提供通用的容器。默認情況下,面板容器不會向控件添加任何除自身背景之外的顏色,但是,可以輕鬆地向其添加邊框(borders)並根據需要改制樣式。

在大多數Java GUI外觀體驗(look and feel)中,面板容器默認是不透明。不透明的面板容器跟普通的目錄窗格功能差別不大,並且可以有效幫助樣式改進。

設置圖層管理器

和其他容器(container)一樣,面板容器panel也使用布局管理器(Layout Manager)對添加到容器中的組件(compnent)進行定位和設置尺寸大小。

默認情況下,面板容器的布局管理器是FlowLayout(流式布局)類的一個實例,這個類對放置在容器中的空間按行進行布局(從左到右諸行排列)。在創建面板容器時,你可以輕鬆地使用任何其他

布局管理器通過調用setLayout方法或指定一個布局管理器。

如下是一個在創建面板容器時設置圖層管理器的例子:

JPanel p=new JPanel(new BorderLayout());

但這種方法不能用在BoxLayout(盒子布局)中,因為BoxLayout構造器需要一個預留(pre-existing)容器。如下所示:

JPanel p=new JPanel();

p.setLayout(new BoxLayout(p,BoxLayout.PAGE_AXIS));

添加控件

向面板容器中添加組件時使用add()方法,而向add()方法中傳遞的參數決定於該面板容器使用哪個布局管理器。當所用的布局管理器是FlowLayout,BoxLayout,GridLayout,或SpringLayout時,像通常那樣向add()方法傳遞單一的參數即可,如下所示:

aFlowPanel.add(aComponent);

aFlowPanel.add(anotherComponent);

而當布局管理器為BorderLayout時,還需要提供另一個參數來指定添加到容器中控件的位置,例如:

aBorderPanel.add(aComponent,BorderLayout.CENTER);

aBorderPanel.add(anotherComponent,BorderLayout.PAGE_END);

對於GridBagLayout布局管理器,可以使用上述任一方法,但必須以某種方式對每個組件指定GridBagConstraints,例如:

JPanel pane=new JPanel(new GridBagLayout());

GridBagConstraints c=new GridBagConstraints();

警告

Swing不是線程安全的。

此類的序列化對象與以後的Swing版本不兼容。當前序列化支持適用於短期存儲,或適用於在運行相同Swing版本的應用程序之間進行RMI(Remote Method Invocation,遠程方法調用)。

擴展資料:

JPanel一個面板也是一個容器JPanel Pan=new JPanel();

Pan.setLayout(null);//設置為空布局也就是自由布局

Pan.add(控件);//添加控件

JPanel是java圖形化界面中最常使用的容器。實例:在窗體中添加一個藍色的面板

//PanelDemo.java

import javax.swing.*;

import java.awt.*;//引入AWT包,因為要使用到顏色類

class PanelDemo{

public static void main(String[]args)throws Exception

{JFrame f=new JFrame(“第一個Java窗口”);

f.setSize(300,200);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.setVisible(true);

f.setResizable(false);

f.setLocationRelativeTo(null);

f.setLayout(null);//設置窗體布局為空布局

JPanel p=new JPanel();//實例化一個面板

//設置面板背景色為藍色,如果不引入AWT包,程序將出錯,可以試試看

p.setBackground(Color.BLUE);

p.setSize(100,100);//設置面板對象大小

f.getContentPane().add(p);//將面板添加到窗體中

//如果使用下面添加面板的方法,面板將布滿整個窗口,可以試試看

//f.setContentPane(p);

}

}

參考資料:

百度百科——JPanel

在JAVA中常用的數據結構(容器)有哪些?有什麼特點?

JAVA的容器—List,Map,Set

Collection

├List

│├LinkedList

│├ArrayList

│└Vector

│ └Stack

└Set

Map

├Hashtable

├HashMap

└WeakHashMap

Java 中的容器和框架的區別 有哪些

容器是程序運行的整體環境,框架是建立在容器之上的,框架也可以理解為程序,只是為了開發維護方便而寫的比較通用的程序。

框架是一個規範,還沒有具體實現.等你來搞定,但要按規定的範圍內實現你自己需要的東西.容器是已經做好了,能盛東西了.但盛的東西都是按規範做出來的.規範是口頭上的,容器已經是實現了的.JBUILDERX就超出了JAVA規範.

什麽是JAVA的容器組件?它有什麽特點?JAVA提供了那些容器組件?

JAVA容器庫(container)包含兩大組件:Collection和Map.

Collection是一組相互獨立的對象的集合.Map是一組KEY–VALUE對應的對象集合.

Collection中又分為兩類:一類是List;另一類是Set.Set下還有SortedSet,而Map下有SortedMap.

其下有很多接口和方法,具體的用法請參考官方文檔和有關教程,這個不難。

這些接口和方法是構成整個JAVA容器庫的最頂層的元素,學習了這些我至少可以使用容器編寫一般化的 的程序.這些方法的學習總體來說是比較簡單的,但如果要深究其原理也是頗具挑戰的,就單單說迭代器的實現,實現機理,也是值得探討的。拋開這些不說,在類庫的設計層面上所也值得我們去研究。

以上為引用。

Java中Web容器

Server只是一種技術。它本身不能單獨運行。需要依賴Servlet容器。說通俗點,你要開發Servlet。需要導入Servlet的jar包,然後寫代碼。但是你寫完代碼之後不能運行。為什麼因為Servlet沒有main函數,不能運行。那怎麼運行Servlet的代碼?依賴Servlet容器啊。Servlet容器裡面就有main函數的入口。所以你要把Servlet代碼放入到Servlet容器中才能運行。那Servlet容器有哪些?如何放進容器中?

常見的Servlet容器有:tomcat , jetty。

以tomcat為例。我們如何將Servlet代碼放入到tomcat中?很簡單。如果你用window系統,你下載一個window版的tomcat的zip壓縮包。解壓後,找到webapps目錄。新建一個目錄。把你的Servlet代碼的class文件代碼。web.xml,lib包等原封不動拷貝到這個目錄中。然後在tomcat解壓目錄的bin目錄下,找到startup.bat。雙擊就能啟動tomcat。tomcat有main函數。所以tomcat已啟動,web容器就啟動。當你第一次請求某個Servlet時,Servlet就會被創建,並保存在容器中。

java的容器控件有哪些?

1.頂層容器

什麼是頂層容器?當我們使用Java進行圖形編程的時候,圖在哪裡繪製呢?我們需要一個能夠提供圖形繪製的容器,這個容器就被稱為頂層容器,你

也可以把它想象成一個窗口。頂層容器是進行圖形編程的基礎,一切圖形化的東西,都必然包括在頂層容器中。在Swing中,我們有三種可以使用的頂層容器,

它們分別是:

JFrame:用來設計類似於Windows系統中的窗口形式的應用程序。

JDialog:和JFrame類似,只不過JDialog是用來設計對話框。

JApplet:用來設計可以在嵌入在網頁中的Java小程序。

如果需要使用Swing製作一個窗口類程序,我們的代碼看起來應該是這樣:

import javax.swing.*;

public class KyodaiUI

extends JFrame {

……

}

2.控件

控件是構成應用程序界面的基本元素,按鈕、文本框、進度條等,這些都是控件。控件(這裡我們只討論可視化控件)又可以分為容器控件和非容器控件。從字面

意義上來理解,容器控件就是能包含其他控件的特殊控件,例如,Java中的JPanel控件就屬於容器型控件,我們可以在JPanel中放置按鈕、文本框

等非容器控件,你甚至可以在JPanel中再放置若干個JPanel控件(值得注意的是,頂層容器也是容器型控件,每一個窗口應用程序中有且只能有一個頂

層容器控件,換句話說,頂層容器不能包括在其他的控件中)。

Java中的容器控件有很多,除剛才提到的JPanel外,還有

JTabbedPane、JScrollPane等,非容器控件有JButton、JLabel、JTextField等。如果你需要向某個容器型的控件

中添加控件,你可以使用 add(Component comp) 方法來實現,如:

JPanel panel = new JPanel();

JButton button = new JButton();

panel.add(button);

3.邊框

雖然我們使用了不同前景色來區別不同的區域,然而卻沒有層次感,加上邊框一定會漂亮許多。

在Java中,所有以J打頭的Swing控件都可以使用setBorder方法來為自己設置邊框。邊框有很多種,線型、凸起、凹下、空的,你甚至可以自

由組合形成個人風格。所有的Border都必須使用javax.swing.BorderFactory中提供的靜態方法來創建,比如:

Border border = BorderFactory.createBevelBorder(BevelBorder.LOWERED,

new Color(45, 92, 162),

new Color(43, 66, 97),

new Color(45, 92, 162),

new Color(84, 123, 200));

現在,我們將toolBar.setBackground(Color.white)改為toolBar.setBorder(border),立體效果是不是已經出現了?

原創文章,作者:YSVN,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/144497.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
YSVN的頭像YSVN
上一篇 2024-10-25 13:52
下一篇 2024-10-25 13:52

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論