java如何衔接不同文件中的swing组件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何衔接不同文件中的swing组件相关的知识,希望对你有一定的参考价值。

java如何衔接不同文件中的swing组件:
1、JFrame,JDialog,JWindow与JApplet这四个组件我们统称为最上层(Top-Level)组件,因为其余的Swing组件都必须依附在此四组件之一上才能显示出来。 2、最上层的四个组件都实现了RootPaneContainer接口,RootPaneContainer定义了各种容器取得与设置的方法,这里的容器包括JRootPane,GlassPane,LayeredPane,和ContentPane。
参考技术A 1.新建文件。选择类别为Swing Gui窗体,类型为JFrame窗体。建立了窗体应用程序后,将产生两个文件,.form文件和.java文件,其中.form有点类似于xml文件,它保存了应用程序界面设计的相关参数,而java文件是应用程序类,它是JFrame的子类。

2.在设计模式下,可以通过拖放的方式,从右边的组件面板把需要的各种组件放到窗体上,并合理摆放好组件。

3.设置各组件的具体属性

4.设置各组件的关联事件。设置"进入xxx"按钮的事件。我们开发者还可以直接双击控件,进入该控件的actionPerformed事件处理程序。
在代码设计模式下,编写事件处理方法。

如何在 Java Swing 中获取面板的所有组件?

【中文标题】如何在 Java Swing 中获取面板的所有组件?【英文标题】:How can I get all the components of a panel in Java Swing? 【发布时间】:2013-03-21 14:17:59 【问题描述】:

在 C# 中有没有类似 foreach 的方法来处理 JPanel 的所有子组件?

【问题讨论】:

在询问之前,有时尝试显而易见的事情是值得的...... :) 你知道有 api 文档,你知道吗:-) 提示:还要看看从 super 继承的方法。 【参考方案1】:

你可以使用getComponents的方法:

Component[] components = jpanel.getComponents();

【讨论】:

这将获取子组件,而不是那些组件的子组件。例如,如果您的面板具有诸如 CollapsiblePanel 之类的容器,则集合 components 将包含对该 CollapsiblePanel 的引用,但不包含其子组件。【参考方案2】:

如果您有多个 JPanel 并且想要获取所有组件名称,请尝试以下操作:

public void getAllComponetsNameInJPanels(JPanel... panels) 
    Component[] components;
    String componentName;
    for (JPanel panel : panels) 
        components = panel.getComponents();            
        for (Component compo : components) 
            componentName = compo.getClass().getName();
            System.out.println(compo.getClass().getName().substring(componentName.indexOf("swing.") + "swing.".length(), componentName.length()));
        
        System.out.println("=====================");
    

【讨论】:

以上是关于java如何衔接不同文件中的swing组件的主要内容,如果未能解决你的问题,请参考以下文章

Java中Swing组件中的JTextArea,JList控件中的滚动条问题?帮忙解决!

java swing 事件问题

java swing 中的列表框JList如何在程序中动态的添加和删除元素

Java详解菜单组件

Java Swing 中的 JTable 对应的 WPF .NET 组件是啥?

垂直视图中的可拖动组件 (Java Swing)