`

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

    博客分类:
  • Java
阅读更多

软件编程牛人网

2005年2月2日3:43:23

问题是:现在有个窗口类:ProjectDialog.java
       主界面类是:StudentDataManagerUI.java
       如何在窗口里操作后,主界面能够产生相应的变化呢?
       假设ProjectDialog.java里有个JButton类型的按钮,叫 button
           StudentDataManager.java里有个JTree 叫tree
       要求按下button后,产生如下变化:
       1.关闭窗口;
       2.在后台新建一个文件夹;
       3.tree能够有变化.
解决办法其实很简单(我开始怎么没想到?)
/*
*第一个文件ProjectDialog.java
*/
public class ProjectDialog extends JDialog
{
   private JButton button;
   private String fileName;
   private ......;
   .....
   public ProjectDialog(JFrame frame, String str, boolean isModel)
   {
      b = new JButton("button");
     
      ...
     
      setSize(300,400);
      setVisible(true);
   }
   //通过这个public方法把不同文件里的组件联系起来
   public JButton getButton()
   {
      return b;
   }
   //等会新建的文件夹名是从这里得到的
   public String getFileName()
   {   
      return fileName;
   }
}

/*
*另外一个文件StudentDataManager.java
*/
public class StudentDataManager
{
   private JTree tree;
   private DefaultMutableTreeNode root;
   private DefaultTreeModel treeModel;
   private JButton start;
   private ProjectDialog projectDialog;
   private JButton projectDialogButton;
   ....
   public StudentDataManager()
   {
      start = new JButton();
      root = new DefaultMutableTreeNode();
      treeModel = new DefaultTreeModel();
      tree = new JTree(treeModel);
          
      .......   

      start.addActionListener(
         new ActionListener()
             {
              public actionPerformed(ActionEvent event)
              {
              /*
              *这里是关键性的一步,只需把新产生的窗口赋予一个变量就可以了
              */
               projectDialog = new ProjectDialog(StudentDataManager.this,
                                                 "New Project",
                                                 "false")
               /*
               *注意上面的模态是false,为什么如果是true的话,后面给button加
               *的监听器就无效了呢?
               */

               //通过getButton()方法就可以在这里跟button加上这里需要的监听器了
               projectDialogButton = project.getButton();
               //生成一个我们写的ButtonHandler
               ButtonHandler buttonHandler = new ButtonHandler();
               /*
               *给这个button加上监听器,这样,虽然button是那个类里面的组件,
               *仍然可以对这个类里面的组件进行操作了:)
               */
               projectDialogButton.addActionListener(buttonHandler);
              }        
             });
   }
   private class ButtonHandler implements ActionListener
   {
      public actionPerformed(ActionEvent event)
      {
         projectDiaog.dispose();//关闭窗口
         String fileName = projectDialog.getFileName();
         File createFile = new File(fileName);
         creatFile.mkDir();//新建一个文件夹
         DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(fileName);
         treeMode.add(newNode,root,root.getChildCount);//这里的tree作出相应的变化
         //完成任务:)
      }
   }
}

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/starshus/archive/2005/03/01/306422.aspx

分享到:
评论

相关推荐

    Java Swing组件文件选择器JFileChooser简单用法示例

    Java Swing组件文件选择器JFileChooser简单用法示例 ...JFileChooser是Java Swing中一个功能强大且灵活的文件选择器组件,我们可以通过它来选择文件或文件夹,并在实际开发中使用它来实现特定的功能。

    Swing组件应用实例

    Swing组件是Java GUI(图形用户界面)编程中的核心元素,它是Java Foundation Classes (JFC) 的一部分。Swing提供了一系列丰富的组件,用于构建功能强大的桌面应用程序。在本实例中,我们将深入探讨Swing组件的使用...

    javaswing组件大全.pdf

    本文档将对 Java Swing 中的组件进行详细的介绍和分析。 JFrame Java Swing 中的 JFrame 是一个基本的窗口组件,继承自 java.awt.Frame 类。JFrame 提供了一个基本的窗口框架,可以用来创建多种类型的窗口应用程序...

    Java Swing组件写的游戏客户端.zip

    Java Swing组件写的游戏客户端Java Swing组件写的游戏客户端 Java Swing组件写的游戏客户端Java Swing组件写的游戏客户端 Java Swing组件写的游戏客户端Java Swing组件写的游戏客户端 Java Swing组件写的游戏客户端...

    Java Swing 组件全演示

    在Java Swing组件全演示中,我们将深入探讨Swing的核心概念、组件和设计原则。 首先,Swing是基于AWT(Abstract Window Toolkit)的,但提供了更丰富的功能和更好的外观。Swing组件通常被称为轻量级组件,因为它们...

    Swing 扩展组件 Swing 扩展组件

    Swing扩展组件是Java Swing库中的一个重要组成部分,它提供了丰富的用户界面元素,使得开发者能够创建出功能强大且具有吸引力的图形用户界面(GUI)。Swing是Java AWT(抽象窗口工具包)的一个替代品,提供了更多的...

    常用Swing组件一览表

    Swing 是 Java 编程语言中的一组图形用户界面(GUI)组件,它们提供了丰富的用户界面元素,帮助开发者快速构建桌面应用程序。Swing 组件可以分为五大类:顶层容器、中间容器、特殊容器、基本组件和不可编辑组件。 ...

    swing组件介绍(一)

    综上所述,"swing组件介绍(一)"可能会涵盖Swing的基本概念、核心组件、布局管理、事件处理以及一些实用工具类,帮助初学者理解Swing在开发Java桌面应用中的重要性和用法。对于深入学习Swing,开发者还需要了解高级...

    普通swing组件用法

    普通swing组件用法

    swing组件的详细介绍

    2. **跨平台一致性**:Swing组件是轻量级的,它们不依赖于底层操作系统,从而确保在不同平台上具有一致的外观和行为。 3. **外观和感觉(LookAndFeel)**:用户可以轻松改变程序的视觉样式,实现自定义的LookAnd...

    Swing组件下载(常用组件)

    Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分。Swing提供了一系列组件,使得开发者可以构建功能丰富的、具有吸引力的桌面应用程序。以下是一些Swing组件的详细...

    菜单及Swing组件

    在Java编程领域,Swing库提供了丰富的用户界面组件,用于构建桌面应用程序。...在实验09中,你可以实践这些概念,通过编写代码来创建具有菜单和各种Swing组件的应用程序,从而加深对这些知识点的理解。

    java实验报告之图形用户界面程序设计与 AWT/Swing组件

    在本实验报告中,主题是“Java实验报告之图形用户界面程序设计与AWT/Swing组件”,主要目标是让学生熟悉Java GUI设计原理、程序结构,掌握AWT和Swing组件的功能,以及学会应用这些组件来设计应用程序,特别是实现一...

    基于Java swing组件实现简易计算器

    2. JButton组件:JButton是Java swing组件中的一种按钮组件,用于创建一个按钮。例如:`JButton b = new JButton("My Button");` 3. JPanel组件:JPanel是Java swing组件中的一种面板组件,用于创建一个红色面板。...

    swing各个组件实例演示

    在"exam"文件中,可能包含了各种Swing组件的实际示例代码,如创建带有按钮、文本框、菜单等的简单计算器,或者模拟一个登录界面。通过运行这些示例,开发者可以直观地了解如何在实际项目中使用Swing组件。 总之,...

    几个漂亮的SWING组件(源代码)

    开发者可以打开这些文件,查看并学习其中的代码,理解如何将Swing组件应用到实际项目中。 总的来说,通过研究这些源代码,开发者不仅可以学习到Swing组件的基本使用,还能了解到组件的定制、交互处理和界面设计的...

    java基于Swing组件的GUI设计

    在"java基于Swing组件的GUI设计"这个主题中,我们将深入探讨如何利用Swing进行GUI开发。 首先,Swing组件是轻量级的,它们大部分是用Java实现的,这使得Swing应用程序可以在不同的操作系统上保持一致的外观和行为。...

    Swing UI组件封装

    swing组件封装重写

    常用Swing组件GUI设计

    常用Swing组件GUI设计,

Global site tag (gtag.js) - Google Analytics