【问题标题】:Update JMenu display names更新 JMenu 显示名称
【发布时间】:2011-11-15 21:56:21
【问题描述】:

所以我有一个 JMenu,里面有几个子菜单。这些菜单的名称是通过获取 4 位玩家中的 1 位玩家的名称来设置的。我向 JMenu 添加了一个 MenuListener 以使用

更新这些名称
menu.setName(player.getName()); 

但是,名称正在更改,但更新未显示在菜单中。如何获取菜单以更新其显示?

editMenu.addMenuListener(new MenuListener() {

       public void menuSelected(MenuEvent e) {
          updateMenu();       
       }

       public void menuDeselected(MenuEvent e) {
       }

       public void menuCanceled(MenuEvent e) {
       } 
});

和updateMenu方法:

public void updateMenu()
{
    partOneMenu.setName(Participant1.getName());
    partTwoMenu.setName(Participant2.getName());
    partThreeMenu.setName(Participant3.getName());
    partFourMenu.setName(Participant4.getName());

    partOneMenu.revalidate();

    partTwoMenu.revalidate();
    partThreeMenu.revalidate();
    partFourMenu.revalidate();

    System.out.println(partOneMenu.getName());
}

打印语句显示名称已更改。

【问题讨论】:

    标签: java swing user-interface model


    【解决方案1】:

    如果我明白你到底想要什么(快照可能很有用),那么你应该使用menu.setText("player1")

    setName(string) 不用于显示,请参阅here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多