JDialog parent = (JDialog) this.getParent().getParent().getParent().getParent();
javax.swing.JPanel--》javax.swing.JLayeredPane--》javax.swing.JRootPane--》com.dialog.CommonDialog(Jpanel存放的Dialog容器)
一、Swing GUI編程的基本步驟:
1、選擇容器;
2、調用getContenPane()方法獲得JFrame容器
3、設置容器布局
4、添加組件到容器
5、設置相應組件的屬性和相應事件;
二、Swing容器和組件
1) 頂層容器:JFrame,JApplet,JDialog,JWindow共4個
2) 中間容器:JPanel,JScrollPane,JSplitPane,JToolBar
3) 特殊容器:在GUI上起特殊作用的中間層,如JInternalFrame,JLayeredPane,JRootPane.
4) 基本控件:實現人際交互的組件,如Jbutton, JComboBox, JList, JMenu, JSlider, JtextField。
5) 不可編輯信息的顯示:向用戶顯示不可編輯信息的組件,例如JLabel, JProgressBar, ToolTip。
6) 可編輯信息的顯示:向用戶顯示能被編輯的格式化信息的組件,如JColorChooser, JFileChoose, JFileChooser, Jtable, JtextArea。
三、容器控件
控件是構成應用程序界面的基本元素,按鈕、文本框、進度條等,這些都是控件。控件(這里我們只討論可視化控件)又可以分為容器控件和非容器控件。從字面意義上來理解,容器控件就是能包含其他控件的特殊控件,例如,Java中的JPanel控件就屬於容器型控件,我們可以在JPanel中放置按鈕、文本框等非容器控件,你甚至可以在JPanel中再放置若干個JPanel控件(值得注意的是,頂層容器也是容器型控件,每一個窗口應用程序中有且只能有一個頂層容器控件,換句話說,頂層容器不能包括在其他的控件中)。
四、布局
1、什么是布局?
布局是Java中用來控制控件排列位置的一種界面管理系統。使用過其他可視化編程開發語言的人在初次接觸Java界面設計時,總會感覺到Java界面設計很別扭:居然沒有提供所見即所得的設置控件坐標的方法!然而,事實證明,Java本身提供的布局管理系統也一樣能夠出色地完成我們的需要,而且在跨平台時表現得更有優勢。
2、常用的布局有:
a)BorderLayout:將界面分割為上下左右以及中間一塊區域的管理系統,在BorderLayout布局中,最多你只能放5個控件,如果超過5個控件,建議還是選用其他的布局系統吧。
b)GridLayout:GridLayout是將用戶界面切割為棋盤一樣的布局管理系統。如果我們要設計一個類似於Windows中自帶的計算器軟件,GridLayout無疑是最佳選擇。
c)FlowLayout:FlowLayout與上述兩類布局管理系統不太一樣,在FlowLayout中,你不必指定每個控件放在哪,你只需要把控件加入到FlowLayout中,FlowLayout就會根據你添加控件的順序依次放置控件,如果空間不夠,會自動換行。
d)CardLayout:俗稱卡片布局管理器它把組件安排到插件隊列中。
http://blog.sina.com.cn/s/blog_62a641250100gvjr.html
