获取一个Jpanel的父容器有多难

 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

 

时间: 2024-10-31 09:54:32

获取一个Jpanel的父容器有多难的相关文章

javascript客户端遍历控件与获取父容器对象示例代码

 本篇文章主要是对javascript客户端遍历控件与获取父容器对象示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 1,遍历也面中所有的控件 function findControlAll()     {         var inputs=document.getElementsByTagName("input");         for(j=0;j<inputs.length;j++)            if(inputs[j].type==&quo

javascript客户端遍历控件与获取父容器对象示例代码_javascript技巧

1,遍历也面中所有的控件function findControlAll()    {        var inputs=document.getElementsByTagName("input");        for(j=0;j<inputs.length;j++)           if(inputs[j].type=="text") //这儿将页面所有类型为text的控件找出来,也可以设置成你想遍历的控件类型       {            

如何将 tablelayoutpanel 某一个单元格指定为父容器 ?

问题描述 小弟现在要在窗体中打开子窗体.因为布局的关系,要使用tablelayoutpanel.现在的问题是,我可以在tablelayoutpanel0行1列的位置,打开子窗体,然后,我让子窗体最大化,子窗体却占满了整个tablelayoutpanel.问题:如何指定这个子窗体的父容器就是这0行1列这个单元格,使之最大化的时候,也就是在这个单元格中最大化,而不会跑出去?还有,我在子窗体中,加入了meunStrip,可是当我加载子窗体时,子窗体的meunStrip却跑到父窗体的meunStrip中

Div即父容器不根据内容自适应高度的解决方法

解决|自适应 Div即父容器不根据内容自适应高度,我们看下面的代码: <div id="main"><div id="content"></div></div> 当Content内容多时,即使main设置了高度100%或auto.在不同浏览器下还是不能完好的自动伸展.内容的高度比较高了,但容器main的高度还是不能撑开. 我们可以通过三种方法来解决这个问题. 一,增加一个清除浮动,让父容器知道高度.请注意,清除浮动的容

CSS技巧知识:子元素浮动后父容器的闭合

css|浮动|技巧 最近两个月断断续续做了好几个网站的美工,做的过程中对DIV+CSS的标准开发有了进一步的了解.有两点收获最大,一是彻底弄懂了CSS的盒子模式(Box Model),再一个就是搞定了困扰我很久的"闭合浮动元素"的问题: 一般说来如果某个子元素使用了浮动(float),那父元素总是不能确切地知道子元素是在什么位置结束的,所以父元素的下边框总是从子元素的中间甚至是顶部穿过,看起来很不舒服. 最早时我都是在子元素结束后单独加个<br />或<div>

JS获取节点的兄弟,父级,子级元素的方法

 本篇文章主要是对JS获取节点的兄弟,父级,子级元素的方法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比.   JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素  代码如下: <div id="test"> <div></div> <div></div> </div&

如何让子窗体不移动出父容器的范围

问题描述 如图,把一个窗体放在在容器里,鼠标可以拖动窗体显示到父容器外,如何不让窗体移动到父容器外呢?有一种方法是当移动到父容器外时,修改父容器属性AutoScroll=true,但这样会给父容器添加滚动条,,还有没有其他的方法呢? 解决方案 本帖最后由 lienguo 于 2015-09-30 10:14:40 编辑解决方案二:没人吗解决方案三:把子窗口的边框去掉,标题栏去掉.窗口弹出都不让拖动.解决方案四:usingSystem;usingSystem.Windows.Forms;names

TreeList 节点问题,获取当前节点的父节点,也就是上一级

问题描述 TreeList 节点问题,获取当前节点的父节点,也就是上一级 获取了当前获得焦点的节点,怎么着它的父节点比较简单呢. 求大神来两句代码.利用 parentNode 这个属性获取的是一个 TreeListNode对象,为什么里面找不出父节点的参数值呢 解决方案 手工添加 treelist 节点 解决方案二: 求大神解答.代码怎么实现 解决方案三: e.Node.Parent

iOS 怎么获取button触点在父视图中的位置

问题描述 iOS 怎么获取button触点在父视图中的位置 场景:一个scrollview上加了一些button,现在点击button,想要通过触摸点在父视图中的位置,来设置scrollview的contentoffset属性,那么我要怎么获取点坐标呢 解决方案 CGRect frame = [self.button convertRect:self.button.bounds toView:self.scrollView]; 解决方案二: UITouch *touch = [touches a