【问题标题】:How to clear results using JMenuItem如何使用 JMenuItem 清除结果
【发布时间】:2016-07-28 14:36:28
【问题描述】:

JMenuItemClear 使用什么代码来清除 Java GUI 应用程序中内存中的结果?我知道如何使用object.setText("");JText 字段中清除,但是如何使用JMenuItem 清除结果?

【问题讨论】:

  • “结果”是什么意思?你是说菜单项吗?
  • 我正在制作 Car Care gui 业务应用程序,用户可以选择换油和/或洗车的类型,但可以选择所选服务的总金额,以及选择“清除”以清除所选结果并为其他客户选择服务的选项。

标签: java jmenuitem


【解决方案1】:

你的问题有点含糊,所以我会试着回答我认为你的问题......

使用 JMenuItems 从列表中删除

响应点击 JMenuItem 从其他地方移除东西:

物品类别:

public class Item {
     public static final String name;
     public static int cost;

     public Item(String name, int cost) {
         this.name = name;
         this.int = int;
     }
}

主类:

public class Main {
    public static void main() {
        List<Item> list = new LinkedList<>();

        JMenu menu = new JMenu();
        menu.add( new JMenuItem(
            new AbstractAction("Add Carwash") {
               public void actionPerformed(ActionEvent e) {
                   list.add( new Item("CarWash", 10) );
               }
            }
        );
        menu.add( new JMenuItem(
            new AbstractAction("Oil Change") {
               public void actionPerformed(ActionEvent e) {
                   list.add( new Item("Oil Change", 10) );
               }
            }
        );
        menu.add( new JMenuItem(
            new AbstractAction("Clear") {
               public void actionPerformed(ActionEvent e) {
                   list.clear();
               }
            }
        );
        menu.add( new JMenuItem(
            new AbstractAction("Total") {
               public void actionPerformed(ActionEvent e) {
                   System.out.println(
                       list.stream().mapToInt().sum()
                   );
               }
            }
        );
    }
}

请注意,这并不完整,可能无法编译,并且实际上还没有显示任何内容(将菜单添加到 JFrame)。

【讨论】:

  • 也许这更清楚:您的经理希望您使用菜单创建一个原型 Java 应用程序,该菜单将计算客户换油、洗车或两者兼有的成本。此申请应在提供服务时将适当的金额添加到总成本中。选择总菜单项时,应显示购买的服务和总金额。允许客户使用清除菜单项清除内存并为新客户重新开始。退出菜单项应关闭应用程序。
  • 我唯一需要做的就是能够使用“清除”菜单项来清除内存并为新客户重新开始。我不需要删除菜单项,但我只需要能够使用“清除”菜单项来清除内存并为新客户重新开始。
  • 究竟什么是“内存”?选择的项目列表?存储总成本的整数?如果是这样,第三项似乎最接近您想要的 - 只需将“textfield.setText(“”)”更改为“list.clear()”或“total_cost = 0”,具体取决于您存储所选结果的方式.
  • 此项将是换油、洗车的费用,以及所选服务的总金额。然后,我必须清除这些服务和总金额,以便我可以为新客户提供新服务。我唯一需要做的就是清除订单,这样我就可以下一个新订单,而不是点击“退出”菜单项来关闭程序并重新打开它以输入新订单。
  • 例如,我使用这个代码退出: if (event.getSource() == exitItem) { System.exit(0); } 这就是我目前所拥有的 clearItem: if (event.getSource() == clearItem) { //这里的代码 } 我根本没有 JTextField。该程序不需要任何文本字段。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-05
  • 1970-01-01
  • 2018-04-06
  • 1970-01-01
  • 1970-01-01
  • 2020-12-04
相关资源
最近更新 更多