关于springMVC在java swing使用的问题

cxawb1 2015-08-20 11:50:15
我把一个JTree分离为MVC,最后在主界面显示时,右键选中的根节点弹出菜单。但是目前只能显示出JTree的treeview,controller中的事件无法响应。点击了没反应,请问是哪里的问题?
为了V和C指定的是同一个tree,我专门写了一个appcontext类,声明了tree

import javax.swing.JTree;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import ttecontroller.TreeController;
import tteview.TreeView;

public class Appcontext {
public static ApplicationContext context1=new ClassPathXmlApplicationContext("appcontext.xml");
public static TreeView treev=(TreeView) context1.getBean("TreeView");
public static JTree tree=treev.tree;

public Appcontext() {
// TODO Auto-generated constructor stub
}

public static void main(String[] args) {
// TODO Auto-generated method stub
}
}

然后其中的TreeView是:

import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;

import pkg.Appcontext;

public class TreeView extends JPanel{
public static DefaultMutableTreeNode Root = new DefaultMutableTreeNode("节点");//树形目录根节点
public DefaultMutableTreeNode cRoot = new DefaultMutableTreeNode("节点1");//根节点的子节点
public JTree tree=new JTree(Root);
JPanel panel=new JPanel();
public TreeView() {
Root.add(cRoot);
panel.add(new JScrollPane(tree));
// TODO Auto-generated constructor stub
}

public static void main(String[] args) {
// TODO Auto-generated method stub
}
}


TreeController:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPopupMenu;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import pkg.Appcontext;
import tteview.TreeView;


public class TreeController {


public TreeController() {

// TODO Auto-generated constructor stub

Appcontext.tree.addTreeSelectionListener(new TreeSelectionListener() {
@Override
public void valueChanged(TreeSelectionEvent e) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) Appcontext.tree.getLastSelectedPathComponent();

if (node == null)
return;

if (node.isLeaf()) {

System.out.println(node.toString());
JMenuItem jm[] = new JMenuItem[4];
JPopupMenu jpm;
jpm = new JPopupMenu("弹出式菜单");
jm[0] = new JMenuItem( "开始");
jpm.add(jm[0]);
jm[1] = new JMenuItem( "暂停");
jpm.add(jm[1]);
jm[2] = new JMenuItem( "继续");
jpm.add(jm[2]);
jm[3] = new JMenuItem( "停止");
jpm.add(jm[3]);
jm[0].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {

}
});
jm[1].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.out.println("你点击了暂停!!!");
}
});
jm[2].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.out.println("你点击了继续!!!");
}
});
jm[3].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.out.println("你点击了停止!!!");
}
});
Appcontext.tree.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON3) {
jpm.show(Appcontext.tree, e.getX(), e.getY());}
}
});
}

}
});
}

public static void main(String[] args) {
// TODO Auto-generated method stub
}
}


最后在主界面直接调用了appcontext.ree,可以显示TreeView,但是TreeController事件却没反应,求问应该怎么调整,让主界面的tree可以响应事件?
...全文
124 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
petl 2019-01-26
  • 打赏
  • 举报
回复
问一下你的配置,配好了吗?SpringMVC那个配置文件,你这个是窗体吗?Swing? 我在弄一个但只开发过web配置要改。
这个项目是一个基于Java语言开发的Web应用程序,采用SSM(Spring+SpringMVC+MyBatis)或SSH(Spring+SpringMVC+Hibernate)框架进行开发,使用MySQL作为数据存储,JSP作为页面开发。 项目的目标是构建一个高效、可靠、易于维护的Web应用程序。通过使用SSM或SSH框架,可以实现代码的模块化和解耦,提高开发效率和代码质量。MySQL数据库作为数据存储,可以提供稳定的数据存储和快速的数据查询。而JSP作为页面开发技术,可以方便地生成动态的网页内容。 在项目中,Spring框架提供了依赖注入和面向切面编程的功能,可以提高代码的可维护性和可测试性。SpringMVC负责处理请求和响应,可以实现灵活的URL映射和请求处理。MyBatis或Hibernate可以简化数据库操作,提供了方便的ORM(对象关系映射)功能,使得数据的持久化变得简单和高效。 通过以上技术选择和框架搭建,该项目可以实现一个高性能、可扩展性强的Web应用程序。开发人员可以基于框架提供的功能和组件进行快速开发,减少重复代码的编写,提高开发效率。同时,使用MySQL作为数据存储,可以保证数据的安全性和可靠性。而JSP作为页面开发技术,可以生成动态的网页内容,提供良好的用户体验。 总之,这个项目采用Java语言开发,框架使用SSM或SSH,存储使用MySQL,页面使用JSP。通过这些技术和工具的组合,可以实现一个高效、可靠、易于维护的Web应用程序,满足用户的需求,并提供良好的用户体验。
这个项目是一个基于Java语言开发的Web应用程序,采用SSM(Spring+SpringMVC+MyBatis)或SSH(Spring+SpringMVC+Hibernate)框架进行开发,使用MySQL作为数据存储,JSP作为页面开发。 项目的目标是构建一个高效、可靠、易于维护的Web应用程序。通过使用SSM或SSH框架,可以实现代码的模块化和解耦,提高开发效率和代码质量。MySQL数据库作为数据存储,可以提供稳定的数据存储和快速的数据查询。而JSP作为页面开发技术,可以方便地生成动态的网页内容。 在项目中,Spring框架提供了依赖注入和面向切面编程的功能,可以提高代码的可维护性和可测试性。SpringMVC负责处理请求和响应,可以实现灵活的URL映射和请求处理。MyBatis或Hibernate可以简化数据库操作,提供了方便的ORM(对象关系映射)功能,使得数据的持久化变得简单和高效。 通过以上技术选择和框架搭建,该项目可以实现一个高性能、可扩展性强的Web应用程序。开发人员可以基于框架提供的功能和组件进行快速开发,减少重复代码的编写,提高开发效率。同时,使用MySQL作为数据存储,可以保证数据的安全性和可靠性。而JSP作为页面开发技术,可以生成动态的网页内容,提供良好的用户体验。 总之,这个项目采用Java语言开发,框架使用SSM或SSH,存储使用MySQL,页面使用JSP。通过这些技术和工具的组合,可以实现一个高效、可靠、易于维护的Web应用程序,满足用户的需求,并提供良好的用户体验。
酒店管理系统使用说明书 主要功能 本系统中包含如下6大功能模块: q 前台服务:该模块主要包括开台点菜、维护菜品、签单、结账等功能,其中维护菜品功能包括添加和取消菜品,能够取消菜品的前提条件是尚未签单,即处于开单状态,结账时则要求所有商品都要签单,否则不允许结账。 q 后台管理:该模块主要包括台号管理、菜系管理和菜品管理功能,其中菜系用来对菜品进行分类。 q 销售统计:该模块用来分段统计营业额,可以按日、月和年进行统计,其中日统计是按消费单和销售的商品统计销售额,月统计是按日期和每日的销售额统计销售额,年统计是按日期和月份统计销售额。 q 系统安全:该模块主要包括交接班、锁定系统和修改密码功能,其中交接班功能在操作员换岗时使用,锁定系统在操作员临时离开时使用。 q 人员管理:该模块主要包括档案管理、管理员管理和操作权限管理功能,其中管理员管理功能用来管理系统的操作员,权限管理功能用来管理系统操作员具有的操作权限。 q 初始化系统:该功能用来对系统进行初始化,初始化后系统数据将全部被删除。 操作注意事项 用户在使用《酒店管理系统》之前,应注意以下事项: (1)管理员用户名和密码为:mr、mrsoft。 (2)当鼠标经过主界面右下角时,会弹出菜单,在这里可以对本系统的信息进行管理。 业务流程 要想运行本系统,请按照以下流程操作: (1)在“人员管理”中添加操作员及其档案信息。 (2)在“系统维护”中添加台号、菜系及菜品信息。 (3)在“台号”下拉列表中选择台号、在商品文本框中输入商品助记码或编号及商品数量,然后单击“开台”按钮。可添加多个商品。 (4)顾完单完菜后,单击“签单”按钮,表示确认该订单,此时可以执行结账操作,否则不可进行结账。 如果操作临时离开,可单击“锁定系统”按钮,输入登录密码可解锁。 (5)在“销售统计”中可对日销售、月销售及年销售额进行统计。

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧