Tag: 事件处理

Java或C#中的事件/代理

我一直在努力学习事件/代表,但我对两者之间的关系感到困惑。 我知道委托允许你调用不同的函数,而不需要知道调用什么特定的函数。 (例如:图形函数需要接受要绘制的不同函数的输入)。 但我没有看到代表如何在事件中使用。 有人可以构建一个简单的示例(伪代码或C#或Java),说明代理与事件相关的工作方式吗? 谢谢!

JTable:检测单元数据的变化

在Netbeans中,我使用GUI Builder将JTable插入到我的应用程序中。 到目前为止,我只有一个类(CustomerDB): package CustomerDB; import […]; public class CustomerDB extends javax.swing.JFrame { CellEditorListener ChangeNotification = new CellEditorListener() { public void editingCanceled(ChangeEvent e) { System.out.println(“The user canceled editing.”); } public void editingStopped(ChangeEvent e) { System.out.println(“The user stopped editing successfully.”); } }; public CustomerDB() { customerTable = new javax.swing.JTable(); customerTable.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { {null, […]

Javafx Treeview项目动作事件

我正在尝试使用treeView创建菜单。 这是我第一次使用treeView并在几个网站上阅读它。 在动作事件方面我遇到了一些问题。 我想要做的基本上是当用户点击树视图中的节点时触发和事件到目前为止我有以下内容: TreeItem rootItem = new TreeItem(“Navigation”); TreeItem statistics = new TreeItem(“Statistics”); TreeItem clan = new TreeItem(“Clan page”); clan.addEventHandler(MouseEvent, new EventHandler() { @Override public void handle(MouseEvent event) { // TODO Auto-generated method stub } }); rootItem.getChildren().add(statistics); rootItem.getChildren().add(clan); TreeView tree = new TreeView(rootItem); 可悲的是,这似乎不起作用。 有没有什么方法可以在我的treeView的各个项目中添加clicklistener甚至actionlistener ,而无需将treeItems更改为treeItems类型?

Java – Swing中的mouseMoved()事件处理

我想听听JFrame中的鼠标移动和点击。 为此,我添加了一个像这样实现的MouseListener 🙁 View类的完整代码位于https://gist.github.com/2837224,Board类位于https://gist.github.com/2837231 ) class BattleshipsFrame extends JFrame { private final Board playerBoard, opponentBoard; private View view; /** Main window constructor. */ BattleshipsFrame() { … … … //creating and displaying boards playerBoard = new Board(); opponentBoard = new Board(); PlayerBoardListener mouseListener = new PlayerBoardListener(); this.addMouseListener(mouseListener); playerBoard.addMouseListener(mouseListener); opponentBoard.addMouseListener(new OpponentBoardListener()); boards.add(playerBoard); boards.add(opponentBoard); … … … } […]

访问java中内部类中的变量

我正在尝试创建一个JLabel数组,所有这些都应该在单击时隐藏。 当尝试通过需要访问用于声明标签的循环的迭代变量的内部类来设置鼠标侦听器时,会出现问题。 代码不言自明: for(int i=1; i<label.length; i++) { label[i] = new JLabel("label " + i); label[i].addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent me) { label[i].setVisible(false); // compilation error here } }); cpane.add(label[i]); } 我认为我可以通过使用this或者super而不是内部方法中的label[i]的调用来克服这一点但我无法弄明白。 编译错误是:从内部类中访问局部变量i; 需要宣布最终 我确信答案肯定是我没想过的傻事,或者我犯了一些小错误。 任何帮助,将不胜感激

JTable – > TableModeListener

我有这个JTable有一个DefaultTableModel作为它的模型。 在表格中,我有几个swing组件, JComboBox和JCheckBox ,通过DefaultCellEditor和DefaultCellRenderer在特定列上设置。 TableModelListener已添加到表中以捕获可编辑列的更改。 其余列将显示所选组件的详细信息,即项目代码 – >项目价格,项目计数,项目分类等。 我有这个问题,其中如果JComboBox(itemCode)发生更改,则另一个JComboBox(itemClassification)更改。 但是随着其他JComboBox的更改,我需要在同一个表上显示商品价格。 此更改会重新生成valueChanged方法,该方法会生成valueChanged的无限循环。 我怎样才能摆脱无限循环的东西?