软件编程牛人网
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简单用法示例 ...JFileChooser是Java Swing中一个功能强大且灵活的文件选择器组件,我们可以通过它来选择文件或文件夹,并在实际开发中使用它来实现特定的功能。
Swing组件是Java GUI(图形用户界面)编程中的核心元素,它是Java Foundation Classes (JFC) 的一部分。Swing提供了一系列丰富的组件,用于构建功能强大的桌面应用程序。在本实例中,我们将深入探讨Swing组件的使用...
本文档将对 Java Swing 中的组件进行详细的介绍和分析。 JFrame Java Swing 中的 JFrame 是一个基本的窗口组件,继承自 java.awt.Frame 类。JFrame 提供了一个基本的窗口框架,可以用来创建多种类型的窗口应用程序...
Java Swing组件写的游戏客户端Java Swing组件写的游戏客户端 Java Swing组件写的游戏客户端Java Swing组件写的游戏客户端 Java Swing组件写的游戏客户端Java Swing组件写的游戏客户端 Java Swing组件写的游戏客户端...
在Java Swing组件全演示中,我们将深入探讨Swing的核心概念、组件和设计原则。 首先,Swing是基于AWT(Abstract Window Toolkit)的,但提供了更丰富的功能和更好的外观。Swing组件通常被称为轻量级组件,因为它们...
Swing扩展组件是Java Swing库中的一个重要组成部分,它提供了丰富的用户界面元素,使得开发者能够创建出功能强大且具有吸引力的图形用户界面(GUI)。Swing是Java AWT(抽象窗口工具包)的一个替代品,提供了更多的...
Swing 是 Java 编程语言中的一组图形用户界面(GUI)组件,它们提供了丰富的用户界面元素,帮助开发者快速构建桌面应用程序。Swing 组件可以分为五大类:顶层容器、中间容器、特殊容器、基本组件和不可编辑组件。 ...
综上所述,"swing组件介绍(一)"可能会涵盖Swing的基本概念、核心组件、布局管理、事件处理以及一些实用工具类,帮助初学者理解Swing在开发Java桌面应用中的重要性和用法。对于深入学习Swing,开发者还需要了解高级...
普通swing组件用法
2. **跨平台一致性**:Swing组件是轻量级的,它们不依赖于底层操作系统,从而确保在不同平台上具有一致的外观和行为。 3. **外观和感觉(LookAndFeel)**:用户可以轻松改变程序的视觉样式,实现自定义的LookAnd...
Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分。Swing提供了一系列组件,使得开发者可以构建功能丰富的、具有吸引力的桌面应用程序。以下是一些Swing组件的详细...
在Java编程领域,Swing库提供了丰富的用户界面组件,用于构建桌面应用程序。...在实验09中,你可以实践这些概念,通过编写代码来创建具有菜单和各种Swing组件的应用程序,从而加深对这些知识点的理解。
在本实验报告中,主题是“Java实验报告之图形用户界面程序设计与AWT/Swing组件”,主要目标是让学生熟悉Java GUI设计原理、程序结构,掌握AWT和Swing组件的功能,以及学会应用这些组件来设计应用程序,特别是实现一...
2. JButton组件:JButton是Java swing组件中的一种按钮组件,用于创建一个按钮。例如:`JButton b = new JButton("My Button");` 3. JPanel组件:JPanel是Java swing组件中的一种面板组件,用于创建一个红色面板。...
在"exam"文件中,可能包含了各种Swing组件的实际示例代码,如创建带有按钮、文本框、菜单等的简单计算器,或者模拟一个登录界面。通过运行这些示例,开发者可以直观地了解如何在实际项目中使用Swing组件。 总之,...
开发者可以打开这些文件,查看并学习其中的代码,理解如何将Swing组件应用到实际项目中。 总的来说,通过研究这些源代码,开发者不仅可以学习到Swing组件的基本使用,还能了解到组件的定制、交互处理和界面设计的...
在"java基于Swing组件的GUI设计"这个主题中,我们将深入探讨如何利用Swing进行GUI开发。 首先,Swing组件是轻量级的,它们大部分是用Java实现的,这使得Swing应用程序可以在不同的操作系统上保持一致的外观和行为。...
swing组件封装重写
常用Swing组件GUI设计,