当前位置: 首页 > 面试题库 >

JTabbedPane Tab组件的MouseEvent不会通过

别峻
2023-03-14
问题内容

我有一个JTabbedPane带有自定义标签的组件。该组件包含JLabel(显示标签标题)和JButton(关闭按钮)。当我JLabelJLabel停止接收鼠标事件的站点中更改文本时,如果直接单击标签,则无法再选择该选项卡,而如果单击标签周围,则可以选择该选项卡。有任何想法吗?

一段代码:

class ShellPanelTabComponent extends JPanel implements ActionListener{

    private ShellPanel panel;
    private JLabel label;

    public ShellPanelTabComponent(final ShellPanel panel){
      super(new FlowLayout(FlowLayout.LEFT, 0, 0));
      this.panel = panel;
      setOpaque(false);

      label = new JLabel(panel.getTitle());
      label.setFocusable(false);
      add(label);
      label.setBorder(BorderFactory.createEmptyBorder(2,0,0,5));

      //now the button
      CloseButton closeButton = new CloseButton(panel);
      add(closeButton);
      closeButton.addActionListener(this);
    }

    public void actionPerformed(ActionEvent ae) {
      panel.getShell().removeShellPanel(panel);
    }

    /**
     * @return the label
     */
    public JLabel getLabel() {
      return label;
    }
  }

问题答案:

问题与我进行更多挖掘之后在此处发布的问题有关:setToolTipText消耗鼠标事件的解决方法



 类似资料:
  • 我有一个Wicket页面,其中包含一些应该通过Ajax更新的组件。我有以下AjaxBehavior:

  • 此事件表示组件中发生了鼠标操作。 此低级事件由鼠标事件和鼠标移动事件的组件对象生成。 按下鼠标按钮 鼠标按钮被释放 单击鼠标按钮(按下并释放) 鼠标光标进入组件几何体的未遮挡部分 鼠标光标退出组件几何体的未遮挡部分 移动鼠标 拖动鼠标 类声明 以下是java.awt.event.MouseEvent类的声明: public class MouseEvent extends InputEven

  • 此事件表示组件中发生了鼠标操作。 此低级事件由鼠标事件和鼠标移动事件的组件对象生成。 当 - 时生成此事件 按下鼠标按钮。 鼠标按钮被释放。 单击鼠标按钮(按下并释放)。 鼠标光标进入组件几何体的未遮挡部分。 鼠标光标退出组件几何体的未遮挡部分。 移动鼠标。 拖动鼠标。 Class 声明 (Class Declaration) 以下是java.awt.event.MouseEvent类的声明 -

  • 问题内容: 我是新来的世界,我有这样的话: 然后单击,您将被打印在控制台上。现在将行更改为: 现在点击该按钮,我希望它会被渲染。但事实并非如此。 我不确定为什么会这样。请注意,我在方法中有上面的代码。 问题答案: 您可能希望有一个状态组件,该状态组件在单击按钮之后在按钮旁边显示另一个组件。您需要做的就是跟踪按钮是否被单击:

  • 问题内容: 我有一个问题要Ajax更新ui:repeat。更新是从ui:repeat外部的commandButton触发的(请参见下面的代码)。需要可变的 priceHour 来计算其他价格(周,Monat ..) 当我单击按钮时,什么也没有发生,并且ui:repeat和价格未更新。怎么了? 我也尝试过 更新“ myForm:alvs” , 更新“:myForm:alvs” :什么都没有! 我正在

  • 问题内容: 我有一个swing应用程序,在其中可以在JPanel中显示图像。如果应用程序无法生成图像,我想从JPanel中删除前一个图像,并用JTextField和消息替换它。我可以添加文本字段,但是它是在先前内容的顶部绘制的,该内容本身是JPanel的子类。这是我所拥有的: 如何获得cdPanel完全重绘自身? 问题答案: 您可以简单地尝试致电: 代替