執拗地去寫完本身剩下的java swing總結,相信時間會見證個人成長。 java
JFrame—框架,主要用來設計應用程序的圖像界面 編程
JDialog—對話框,一般用來設計具備依賴關係的窗口 數組
JApplet—小應用程序,主要用來設計嵌入網頁中運行的java程序 框架
普通容器(JPanel、JScrollPane、JToolbar、JSplitPane、JTabbedPane) ide
JPanel—面板,一般只有背景顏色的普通容器 函數
JScrollPane—滾動窗格,具備滾動條 工具
JToolbar—工具條,一般將多個組件排成一排或者一列 佈局
JSplitPane—分裂窗格,用來裝兩個組件的容器 spa
JTabbedPane—選項卡窗格,容許多個組件共享相同的界面空間 .net
專用容器(JLayeredPane、JRootPane 、JInternalFrame)
JLayeredPane—分層窗格,給窗格增長了深度的概念
JRootPane—根窗格,通常是自動建立的容器
JInternalFrame—內部窗格,能夠在一個窗口內顯示若干個相似於框架的窗口
(JButton、JCombobox、JList、JMenu、JSlider、JTextField)
(JLabel、JProgressBar、JToolTip等)
² 頂層容器,默認不可見;默認佈局方式爲BorderLayout
² 構造函數:
l JFrame()
l JFrame(String title)//title 爲框架的標題內容
² JFrame經常使用方法
l setDefaultCloseOperation(int operation)—設置關閉框架的行爲
參數operation通常是JFrame. EXIT_ON_CLOSE,表示關閉框架時,則退出程序
l setSize(int width, int height)— 設置框架的大小
l setVisible(boolean b)—設置框架是否可見,默認爲false
l getContentPane()—獲取頂層容器的內容面板
l add(Component comp)—往內容面板添加組件
l setLayout(LayoutManager mgr)—設置佈局方式,默認爲BorderLayout
example:JDialog 和 JOptionPane的demo
a) JDialog
² 在已有的窗口上建立對話框,可使用此類建立自定義的對話框
² 構造函數:
JDialog(Dialogowner,Stringtitle, boolean modal)
JDialog(Frameowner,Stringtitle, boolean modal)
參數:owner—指定對話框的父窗口
title—對話框的標題
modal—對話框的模式(true爲「有模式對話框」,false爲「無模式對話框」
² JDialog經常使用方法
n setSize(int width, int height)— 設置對話框的大小
n getContentPane()—獲取頂層容器的內容面板
n add(Component comp)—往內容面板添加組件
n setLayout(LayoutManager mgr)—設置佈局方式,默認爲BorderLayout
b) JOptionPane
² 提供一些現成的、各類經常使用的標準對話框(有模式的對話框)
²JOptionPane類裏靜態方法衆多,但幾乎全部靜態方法都遵循showXxxDialog()的形式,以下:
方法名 |
描述 |
showConfirmDialog() |
顯示確認對話框 |
showInputDialog() |
顯示輸入文本對話框 |
showMessageDialog() |
顯示信息對話框 |
showOptionDialog() |
顯示選擇性的對話框 |
這四種方法的參數都遵循一致的模式:
①ParentComponent:指示對話框的父窗口對象,通常爲當前窗口。也能夠爲null即採用缺省的Frame做 爲父窗口,此時對話框將設置在屏幕的正中。
②message:指示要在對話框內顯示的描述性的文字
③String title:窗口標題
④Component:在對話框內要顯示的組件(如按鈕)
⑤Icon:在對話框內要顯示的圖標
⑥messageType:定義 message 的樣式,通常能夠爲以下的值
n ERROR_MESSAGE
n INFORMATION_MESSAGE
n WARNING_MESSAGE
n QUESTION_MESSAGE
n PLAIN_MESSAGE
⑦ optionType:定義在對話框的底部顯示的選項按鈕的集合。通常能夠爲
n DEFAULT_OPTION
n YES_NO_OPTION
n YES_NO_CANCEL_OPTION
n OK_CANCEL_OPTION。
² 當showXxxDialog 方法返回整數時,可能的值爲:
n YES_OPTION
n NO_OPTION
n CANCEL_OPTION
n OK_OPTION
n CLOSED_OPTION
² 構造函數;
n JLabel()
n JLabel(String text)
n JLabel(Icon image)
n JLabel(String text, Icon icon, int horizontalAlignment)
其中參數text爲JLabel的文字信息,image爲JLabel的圖標,horizontalAlignment爲文字與圖標在水平方向上的對齊方式,常見的取值有常量 JLabel.LEFT(左對齊),JLabel.CENTER(中對齊), JLabel.RIGHT(右對齊),
² JLabel經常使用方法:
n setText(String text)—設置文字信息
n setIcon(Icon image)—設置JLabel的圖標
n setHorizontalAlignment(int alignment)—設置文字與圖標在水平方向的對齊方式
n setVerticalAlignment(int alignment)—設置文字與圖標在豎直方向的對齊方式
n setToolTipText(String text)—在JLabel上停留時出現的提示信息
² 都是用來編輯單行文本,JTextField能夠直接看到輸入的字符,JPasswordField將輸入的字符表示成」*」
² 構造函數:
JTextField() |
JPasswordField() |
JTextField(String text) |
JPasswordField(String text) |
JTextField(int columns) |
JPasswordField(int columns) |
JTextField(String text, int columns) |
JPasswordField(String text, int columns) |
參數text指定文本編輯框顯示的初始文本,columns爲文本編輯框的寬度(大於0)。
² 經常使用方法:
getText()—獲取編輯框的文本信息(String 類型)
setText(String text)—設置文本信息
setEditable(boolean b)—設置是否可編輯
² 觸擊式組件(單擊這三個組件,都能觸發特定的的事件。)
JButton——命令式事件 ·
JCheckBox、JRadioButton—選擇狀態發生變化
² 構造函數:
JButton()
JButton(Icon icon)
JButton(String text)
JCheckBox() |
JRadioButton() |
JCheckBox(Stringtext,Iconicon, boolean selected) |
JRadioButton(Stringtext,Iconicon, boolean selected) |
參數text爲指定組件顯示的文本信息,icon爲指定組件的圖標,selected指定組件是否被選中
² JCheckBox、JRadioButton經常使用方法:
setSelected(boolean b)—設置組件的選中狀態
isSelected()—判斷組件時否被選中
² 與ButtonGroup對象配合使用可建立一組按鈕,一次只能選擇其中的一個按鈕。ButtonGroup提供的一個空的構造方法,使用成員方法add(AbstractButton b)添加單選按鈕( JRadioButton是AbstractButton的子類)
² 若是須要把多個JRadioButton排成一排或者一列,能夠建立一個佈局爲GridLayout或者BoxLayout的JPanel。
如:JPanel jpanel = new JPanel(new GridLayout(0,1));//排成一列
jpanel.add(JRadioButton);
² 用於顯示多行文本的組件
(一) JComboBox(組合框)
² 構造函數:
JComboBox(Object[] items)
參數items爲組合框的各個選項
² 經常使用方法:
setEditable(boolean aFlag)—設置組合框是否能夠自行輸入一行文本信息,默認爲false。當爲false時,只能選擇組合框中的某個選項
setMaximumRowCount(int count)—設置顯示的最大行數
setSelectedIndex(int anIndex)—選擇索引第anIndex+1處的選項
getSelectedIndex()—返回列表中與給定項匹配的第一個選項的下標值
getSelectedItem()—返回當前所選項。
getSelectedObjects()—返回包含所選項的數組。
(二) JList(列表框)
² 構造函數:
JList(Object[] listData)
參數listData爲列表框的各個選項
² 經常使用方法:
setSelectionMode(int selectionMode)—設置列表的選擇模式。
selectionMode常爲如下常數:
ListSelectionModel.SINGLE_SELECTION- 一次只能選擇一個列表選項
ListSelectionModel.SINGLE_INTERVAL_SELECTION- 一次只能選擇一個連續間隔
ListSelectionModel.MULTIPLE_INTERVAL_SELECTION –一次可選擇一個或多個選項。此模式是默認設置。
setSelectedIndex(int index)—設置被選中的選項
getSelectedIndex()—返回最小的選擇單元的索引
(三) JTextArea (文本區域)
² 構造函數;
JTextArea(Stringtext, int rows, int columns)
構造具備指定文本text、rows行columns列的 TextArea
² 相關的類:
經過JMenuBar類(利用setJMenuBar()方法加入窗口中)
JMenu(級聯)
JMenuItem(菜單項目)
JCheckBoxMenuItem(選擇性的菜單項目)
JRadioButtonMenuItem(選擇性的菜單項目(圓點))。
² 編程要點:
a)、產生快捷鍵
mnuFileNew.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1, ActionEvent.ALT_MASK));//快捷鍵alt+1
b)、添加分割條
mnuFile.addSeparator();
c)、給菜單加上圖標
mnuFileNew.setIcon(newImageIcon("new.gif"));
d)、給菜單加上助記符
mnuFile.setMnemonic('F'); //alt+F
e)、要使得多個JRadioButtonMenuItem項目產生單選的效果,能夠將它們放入一個ButtonGroup組件中;不然爲多選效果
² example:MenuLookDemo
² 在Swing中的窗口工具條是由JToolBar來實現,它也是一種容器並按照行或列對組件(它們通常爲按鈕)進行分組。
² 缺省時爲水平方向但可使用SwingConstants. HORIZONTAL或者SwingConstants. VERTICAL來設置其方向。
² 構造函數:
n JToolBar() 建立出水平方向的工具條(缺省爲HORIZONTAL)。
n JToolBar(int orientation) 建立出指定方向的工具條。
n JToolBar(String name) 建立出指定名稱的工具條。
n JToolBar(String name, int orientation) 建立出指定方向和名稱的工具條。
² 工具條上的工具按鈕的事件編程:
相似於通常的按鈕事件編程,能夠分別爲各個不一樣的按鈕單獨進行事件編程。
² 編程方法:
n 建立出JToolBar對象
n 而後採用add(Object)方法將組件(能夠爲按鈕或其它組件)加入到工具條中。
n 最後再將工具條加入到內容面板中
example:ToolBarDemo
² 特性:它表現爲一組文件夾頁,每一個文件夾都有標題(以下)
² 其內的每一個頁面爲一個JPanel類或者其子類的對象
² 構造函數:
public JTabbedPane(int tabPlacement, int tabLayoutPolicy)
其中Tabplacement能夠是:
² JTabbedPane.TOP(表頭在上面)
² JTabbedPane.BOTTOM(表頭在下面)
² JTabbedPane.LEFT(表頭在左面)
² JTabbedPane.RIGHT(表頭在右面)。
TablayoutPolicy能夠是
² JTabbedPane.WRAP_TAB_LAYOUT(表頭不產生SCROLL效果)
² JTabbedPane.SCROLL_TAB_LAYOUT(表頭產生SCROLL效果)
² 編程方法:
建立出JTabbedPane類的對象;
l 調用addTab()方法加入一個頁面組件(JPanel或其子類);
l 最後將JTabbedPane類的對象加入到頂級容器的ContentPane中。