小编ali*_*rco的帖子

记住鼠标点击的位置?的ArrayList?哈希码?

对不起,伙计们,我删除了我的APPLES和CATS示例:)这是我的问题的更新版本!

我在这里失去理智.我需要能够启发我的人.我曾尝试过几次在这里解释我的问题.希望这次,我的问题会更容易理解.

基本上我有这个框架,并显示一个图像.右侧有一个JList,底部有另一个JLabel面板.这是我框架的屏幕截图.

在此输入图像描述

当我点击图像时,会弹出一个JOptionPane,就像这样.我输入了我的输入.我的JList是一个ArrayList,所以我输入的所有内容都被添加到JList和底部的JPanel.

在此输入图像描述

现在,当我将鼠标悬停在我点击的部分时,你注意到方形消失了).它仅在我单击图像时出现,并且当我将标签悬停在底部时.我的标签,截至目前是LOLZ NOSE和INPUT HERE.

在此输入图像描述

我想要做的是当我将鼠标悬停在标签上时,例如INPUT HERE,它再次显示正方形,其中包含我点击的部分.我现在的问题是,当我点击NOSE时,它应该在鼻子部分显示一个正方形,并且名字NOSE有黑色bg,它不显示.此外,仅显示最后一个标签的正方形,而忽略其他标签的位置点击.

如何获得标签以记住我所做的点击的位置?人们说我应该使用ArrayLists或HashCodes但是我不知道如何实现它们.感谢任何能提供帮助的人.

编辑:我已经完成了矩形,顺便说一句.它仅显示输入的最后一个标签.以下是一些要求的代码片段!

我如何在JLabel上设置文本并更新JList:

public void updateLabel(){

        StringBuilder text = new StringBuilder(); //creates empty builder, capacity 16

        for(Object s: tagModel.toArray()) //returns an array containing the elements of the tagModel
            text.append(" " + s);

        repaint();      
        hoverLabel.setText(text.toString()); //returns a String
        hoverLabel.addMouseMotionListener(this);
        hoverPanel.add(hoverLabel);

    }
Run Code Online (Sandbox Code Playgroud)

点击后我的mouseListener:

@Override
    public void mouseClicked(MouseEvent event) {
        // TODO Auto-generated method stub

        x = event.getX();
        y = event.getY();

        isRectPresent = true;
        repaint();

        input = JOptionPane.showInputDialog("Enter tag name:");

        if((input != null) && …
Run Code Online (Sandbox Code Playgroud)

java swing arraylist jlabel jlist

11
推荐指数
1
解决办法
1543
查看次数

如何在填充矩形内绘制字符串?

我只是想在一个充满黑色的矩形中显示我的String.谢谢您的帮助!

java drawstring drawrect paintcomponent

3
推荐指数
1
解决办法
9217
查看次数

如何从jOptionPane在JFrame上显示输入?

所以我有这段代码。

String input;
input = JOptionPane.showInputDialog("Type words:");
Run Code Online (Sandbox Code Playgroud)

JFrame如果此代码位于我的内部,如何显示输入mouseListener

我没有使用,System.out.println()因为它仅在控制台中打印。

java swing joptionpane

0
推荐指数
1
解决办法
5235
查看次数