当前位置: 首页 > 知识库问答 >
问题:

如何检测jpanel内部的形状并将其与另一个按钮[复制]一起使用

潘翰藻
2023-03-14

班级

 class MyComponent extends JComponent {
       public void paint(Graphics g) {

               g.fillRect(30, 30, 100, 100);

       }

    }

在这上面执行J按钮操作

jButton2.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {

         jPanel4.add(new MyComponent());
         addComponent(new MyComponent());
      }
    });
 jButton1.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {

         jPanel4.add(new MyComponent1());
         addComponent(new MyComponent1());
      }
    });

我还有一些其他的Jbutton动作。现在,我想在形状位于面板中时检测它。然后我想对面板当前形状执行一些操作。

jButton5.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        if(e.getSource()==jButton1)
        {
            jPanel4.removeAll();
            jPanel4.updateUI();
            jPanel4.add(new MyComponent11());
             addComponent(new MyComponent11());
        }


      }
    });

但是这个代码没有检测到形状。对此有什么解决办法吗

共有1个答案

师成弘
2023-03-14

我使用区域编写了此功能的一般实现,您可以在这里找到。具体来说,AreaManager中的主要方法提供了有关如何协同工作的信息。

如果您只是想在边界(30,30100100)中检测鼠标点击,您可以在常规的鼠标侦听器/适配器中更轻松地实现这一点。但听起来你对完整的解决方案感兴趣,还是?

 类似资料:
  • 我刚刚接触Java,正在为我的大学班级做一个项目。我正在开发一款百万富翁游戏,但是我被卡住了。 我有一个JFrame类,其中我有2个面板。第一个由按钮组成,第二个是我想通过按下按钮来更改的面板。按钮具有自己的类及其构造函数,面板也是如此,因为它们具有不同的布局。我需要在按钮类中创建一个方法,以从框架中删除第二个面板并添加第三个面板(在另一个更JPanel类中描述)。因此,从技术上讲,我需要从按钮类

  • 问题内容: 我有一些数据结构,我想将其中一个用作临时结构,将另一个用作非临时结构。 现在的问题当然是实际上只是指向,因此一旦清除,也是如此。 如何在使用Java时保留值? 问题答案: 您可以使用以下技巧: 或使用 您可以在此处获取有关clone()方法的一些信息 但是您应该记住,所有这些方式都会给您 List 的副本,而不是其所有元素。因此,如果您更改复制的列表中的元素之一,则它也将在原始列表中进

  • 问题内容: 我的数据表的每一行分别具有两个按钮租用和遗憾,我的数据表的一列包含电话号码,我无法弄清楚,如何获得单击按钮租用并将其传递给另一行的同一行的编号表格..非常感谢您的帮助 问题答案: 为此,您可以使用您的事件,请参阅下文。 表格2范例

  • 我想在我的基本框架中添加一个带有JPanel的JScrollpane 如果我将带有的直接添加到中,就可以了。但是现在,当我将帧的大小减小到500像素以下时,变得更小,如第二张图片所示。 如何使JScrollPane工作?

  • 我有一个网格窗格的圆圈,我希望能够将一个圆圈拖到另一个圆圈之上,并将第一个圆圈的颜色应用于第二个圆圈。 我遇到的问题是,我无法让目标圆检测到dragEntered或dragOver。我已经能够使用标签成功地实现这一点,但由于某些原因,圆圈不会产生相同的效果。 我见过一些准解决方案,涉及设置circle.setMouseTransparent(true),以便被拖动节点下的节点可以看到拖动,但这里也

  • 问题内容: 我的html文件中有两个div。我想隐藏第一个div并在html输入按钮事件上显示另一个div 。 这是我的代码, 但这不起作用。任何帮助将不胜感激。 谢谢。 问题答案: 1)在onclick内,您不必使用暗示的“ javascript:”。 2)您检查“显示:阻止”,我总是检查“显示:无”(因为显示也可以是“行内阻止”,等等。) 尝试这个: