草庐IT

actionListener

全部标签

java - 如何避免在 Swing 中耦合 View 和 Controller

我最近在尝试在Swing中实现模型-View-Controller时遇到了一个问题。我有一个由子面板组成的GUI类,这些子面板由其他子面板组成。现在,在其中一个子子面板中有一个JButton。在这个JButton的ActionListener中,我想在Controller中调用一个方法。为此,我需要将Controller深入到GUI的内部,传递到JButton所在的子子面板。然后在这个子子面板中,我需要将ActionListener附加到JButton并通过调用以下方法填写actionPerformed()我想调用Controller。我相信你们都看到了这个问题。有什么好的方法可以避免

Java Swing - 如何处理 ActionListener 中的泛型

我有:classCustomerActionListenerimplementsActionListener{@OverridepublicvoidactionPerformed(ActionEventevent){JComboBoxcb=(JComboBox)event.getSource();..dosomething}}这导致在jdk7中出现以下编译器警告:JComboBox是原始类型。对泛型JComboBox的引用应该被参数化我试图将其参数化为:JComboBoxcb=(JComboBox)event.getSource();但这仍然会留下以下编译器警告:类型安全:未经检查的从

java - 如何通过单击按钮打开新窗口

作为我程序的一部分,我需要一个按钮,当用户点击它时,它会打开一个新窗口。好吧,我想我应该有一个制作框架并通过按钮调用它的类。但我不知道如何开始。我刚刚在程序中找到了我的按钮,但它不起作用。那么有人可以告诉我该怎么做吗?或对其进行编码。 最佳答案 这是您想要执行的操作的简化版本:JButtonbutton=newJButton("NewFrame");button.addActionListener(newActionActionListener(){publicvoidactionPerformed(ActionEvente){//

java - AWT 事件调度线程中的 SwingUtilities.invokeLater

如果您正在修改GUI并且处于AWT事件调度线程中,例如ActionListener,您是否应该使用SwingUtilities.invokeLater(Runnable)? 最佳答案 您必须始终在事件调度线程(EDT)中进行GUI更新。然而,正如Jeffrey在评论中指出的那样,Swing对象上的ActionListener.actionPerformed方法已经从EDT调用。如果您只是想让JButton看起来启用/未启用或从JList添加/删除项目,并且您通过ActionListener在Swing组件上,那么您不必显式调用Swi

java - JButton 的 addMouseListener 或 actionListener?

在定义JButton上的简单单击行为时,哪种方法是正确的?而且,有什么区别?JButtonbut=newJButton();but.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){System.out.println("Youclickedthebutton,usinganActionListener");}});或JButtonbut=newJButton();but.addMouseListener(newjava.awt.event.MouseAdapter(){publi

java - 如何创建一个带有两个按钮的窗口来打开一个新窗口

我需要程序-主JFrame有2个按钮按钮按钮2当我单击button时,它必须打开带有新选项的新JFrame窗口,而如果我单击button2则打开另一个窗口。在这两个新窗口中,我必须添加像下一个和上一个这样的按钮。我有一个问题,当我打开按钮1,然后打开2个窗口时,主JFrame仍然可见。我的第一个swing程序:importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassexample{publicstaticvoidmain(String[]args){JFrameframe=newJFrame("Tes

java - EventListeners 和自定义 gui 组件

我有一个SWINGGUI类,它为显示的一部分实例化自定义JPanel。这个自定义类有按钮和文本字段等。我拥有自定义JPanel的GUI类也有一个Controller类来处理我的数据模型的修改。如何将自定义面板中的操作传递给它的所有者(我的gui类)以处理事件?我想也许我可以在自定义面板的构造函数中添加一个对我在gui中的Controller类的引用,这样我就可以将它设置为按钮上的actionListener。这种方法可取吗?有没有更好的方法? 最佳答案 您的View代码(您的自定义JPanel)应该有一个Controller字段(或

java - primefaces:同时进行 actionListener 和重定向

我想当我点击一个,调用一个Bean进行处理,同时将页面重定向到另一个页面。换句话说,我想结合:和:其中“重定向”在faces-config.xml中配置我该怎么办?有没有更好的方法来实现这一目标? 最佳答案 使用p:commandButton的action属性。改成首先,将调用actionListener,然后启动导航。但请记住,您需要在faces-config.xml中定义导航规则 关于java-primefaces:同时进行actionListener和重定向,我们在StackOve

Javafx 将 ActionListener 添加到按钮

button.setOnAction(newEventHandler(){@Overridepublicvoidhandle(ActionEvente){label.setText("Accepted");}});在上面的代码中,我们定义了按下按钮时会发生什么。这一切都很好,但我想创建新的ActionListener,然后将其添加到我的按钮。通常在JButton中我可以像这样添加ActionListener:button.addActionListener(someControllerClass.createButtonListener());在上面的代码中,createButtonL

Java:使用actionlistener在另一个类中的对象上调用该类中的函数

基本上我想要做的是获得一个开始按钮来启动一个在另一个类中运行并作用于另一个对象的方法。我的监听器代码:button1a.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){//Figureouthowtomakethiswork//sim.runCastleCrash();}});我的另一个类的代码:publicstaticvoidmain(String[]args){CastleCrashsim;sim=newCastleCrash();}和publicvoidrunCas