如何删除JMenuItem上的箭头?

时间:2014-07-12 10:44:13

标签: java swing jmenuitem

我需要JMenuItem的帮助。我没有在JMenuItem上写任何关于箭头的内容。那么如何禁用它呢?这是图像:

See Image Here

2 个答案:

答案 0 :(得分:1)

让我试着重现这个问题。

  • JMenuItem中添加JMenu,然后在JMenuBar
  • 中添加

示例代码:(没有问题

JMenuBar menuBar = new JMenuBar();
JMenu menu = new JMenu("A Menu");

JMenu submenu = new JMenu("A submenu");
JMenuItem menuItem = new JMenuItem("Another item");
submenu.add(menuItem);              //comment this line and look the output
menu.add(submenu);

menuBar.add(menu);

enter image description here


  • 直接在JMenu JMenuBar添加JMenuItem而不添加JMenuBar menuBar = new JMenuBar(); JMenu menu = new JMenu("A Menu"); JMenu submenu = new JMenu("A submenu"); menu.add(submenu); menuBar.add(menu);

示例代码:(这会产生问题

JMenuItem

enter image description here


  • 直接在JMenuBar
  • 中添加JMenuBar menuBar = new JMenuBar(); JMenu menu = new JMenu("A Menu"); JMenuItem menuItem = new JMenuItem("Another item"); menu.add(menuItem); menuBar.add(menu);

示例代码:(没有问题

JMenuItem

enter image description here

现在问题非常清楚,如果它的叶子节点然后在JMenu中添加JMenuBar而不是{{1}}。

Read more...

答案 1 :(得分:0)

我的JavaFX遇到了同样的问题,我的MenuItems遍布整个地方。

感谢@Braj回复,我意识到我正在以这种方式创建我的项目:

var width = 400;
var height = 150;
var radius = 3;
var data = [
  {"id":1, "a":1, "b":1, "color":"#ff0000"},
  {"id":2, "a":1, "b":2, "color":"#ff0000"},
  {"id":3, "a":2, "b":1, "color":"#00ff00"},
  {"id":4, "a":2, "b":2, "color":"#00ff00"},
  {"id":5, "a":3, "b":1, "color":"#0000ff"},
  {"id":6, "a":3, "b":2, "color":"#0000ff"},
];


$(document).ready(function(){
  createGraph();
  makeForce();
});

var svg;

function createGraph(){
    svg = d3.select("body")
        .append("svg")
        .attr("width", width)
        .attr("height", height)
        .style("background-color", "#dddddd");
}

var simulation;

function makeForce(){

  
  var nodes=data;
  
  node = svg.append("g").attr("stroke", "#bbb").attr("stroke-width", .5).selectAll(".node");
  
  var attractForce = d3.forceManyBody().strength(20).distanceMax(40).distanceMin(60);
  var repelForce = d3.forceManyBody().strength(-10).distanceMax(50).distanceMin(10);

  simulation = d3.forceSimulation(nodes)
      .alphaDecay(0.03)
      // .force("attractForce",attractForce)
      .force("repelForce",repelForce)
      .force("x", d3.forceX(width/2))
      .force("y", d3.forceY(height/2))
      .force('collision', d3.forceCollide().radius(function(d) {
        return (radius+2);
      }))
      // .alphaTarget(.1)
      .on("tick", ticked);
  
  restart(0);
  
  function restart(split){
    if(split==0){
      
      node = node.data(nodes, function(d) { return d.id;});

      node.exit().remove();
      node = node.enter().append("circle").attr("fill", function(d) { return d.color; }).attr("r", radius).merge(node);

      simulation.nodes(nodes);

      simulation.alpha(1).restart();
    }else if(split==1){
              d3.select("#comments").html("Dots split");
              node = node.data(nodes, function(d) { return d.id;});

              node.exit().remove();

              node = node.enter().append("circle").attr("fill", function(d) { return d.color; }).attr("r", radius).merge(node);


              // Update and restart the simulation.
              simulation.nodes(nodes);
              simulation.force("y", d3.forceY(height/2))
                .force("A", isolate(d3.forceX(width), function(d) {
                    return (d.b == 2);
                }))
                .force("B", isolate(d3.forceX(0), function(d) {
                    return (d.b == 1);
                }))
                .on("tick", ticked);


            // simulation.alpha(1).restart();
          }else if(split==2){
            
              d3.select("svg").style("background-color", "#ffffdd");
              d3.select("#comments").html("Nothing happens here, but I'd like to clear out all the forces on the dots and have them return to the center");
            
              node = node.data(nodes, function(d) { return d.id;});

              node.exit().remove();

              node = node.enter().append("circle").attr("fill", function(d) { return d.color; }).attr("r", radius).merge(node);

              // Update and restart the simulation.
              simulation.nodes(nodes);
              simulation.force("x", d3.forceX(width/2))
                .force("y", d3.forceY(height/2))
                .force("A", null)
                .force("B", null)
                .on("tick", ticked);


             simulation.alpha(1).restart();
          }
    
    
    
    function isolate(force, filter) {
      var initialize = force.initialize;
      force.initialize = function() { initialize.call(force, nodes.filter(filter)); };
      return force;
    }
    
   
  }
  
   setTimeout(function(){
        restart(1);
    }, 1000);
    
    setTimeout(function(){
        restart(2);
    }, 4000);
  
  function ticked() {
    node.attr("cx", function(d) { return d.x; })
        .attr("cy", function(d) { return d.y; })
  }
  
}

而不是

<head>
  <script src="https://d3js.org/d3.v4.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
</head>
<body>
  <p id="comments">Dots load</p>
</body>

当然,由于多态性,它在Java中工作,但在我的应用程序中创建了这种副作用。话虽这么说,这可以帮助您使用像Save&gt;这样的树结构更好地整理菜单。保存到文件/保存到DB /另存为...