如何根据没有滚动条的鼠标移动拖动和调整jLabel的图标?

时间:2016-04-22 22:43:19

标签: java swing

  private void uploadimagebuttonActionPerformed(java.awt.event.ActionEvent evt) {                                                  
        JFileChooser input= new JFileChooser();
    input.setDialogTitle("upload the image");
     input.setFileSelectionMode(JFileChooser.FILES_ONLY);
        int returnval=input.showOpenDialog(this);
        BufferedImage image=null; 
        if(returnval==JFileChooser.APPROVE_OPTION)

         {
             java.io.File file=input.getSelectedFile();
             java.awt.image.BufferedImage bi;
             try
             {
                 image=ImageIO.read(file);

                 Label.setIcon(new ImageIcon(image));


             }
              catch(IOException e)
              {
                   e.printStackTrace();
              }
        this.pack();

         }
    }


private void LabelMousePressed(java.awt.event.MouseEvent evt) {                                   
        jScrollPane1.getVerticalScrollBar().setPreferredSize(new Dimension(0,0));
        Point location = MouseInfo.getPointerInfo().getLocation();
        Label.setAlignmentX(location.x+100);
        Label.setAlignmentY(location.y+100);
    } 

我想根据鼠标移动拖动和调整jLabel图标的位置,这样当用户将鼠标按在图标上并拖动水平时,图像也会根据鼠标移动而不滚动条滚动。我检查了自动滚动选项,但它无法正常工作。 请帮忙。

图标放置在滚动窗格内,没有滚动条

http://i.stack.imgur.com/1wyQD.jpg

1 个答案:

答案 0 :(得分:2)

您的第一个停靠点应该是How to Write a Mouse Listener,因为<%= simple_form_for(@challenge) do |f| %> <%= f.text_field :name,'Enter Custom Challenge' %> Or choose a featured challenge: <%= link_to 'New Challenge', new_challenge_path(name: 'Journal') %> <%= link_to 'New Challenge', new_challenge_path(name: 'Meditate') %> <%= link_to 'New Challenge', new_challenge_path(name: 'Run a Mile') %> <%= f.submit %> <% end %> 确实不适合这项工作。

一个解决方案可能是使用{ {1}},但删除滚动条,这样做的好处是,它会自动处理边界检查和组件大小调整...

Scroll Me

{ {2}}

事实上,这个解决方案非常简单,其他任何一个只是在寻找麻烦