Я использую Java и SWING, и у меня есть полоса прокрутки с добавленным к ней довольно большим изображением, которое сейчас работает просто отлично, что означает, что функция прокрутки работает так, как задумано. Однако в разных местах на этом изображении мне нужно добавить jButtons и быть в состоянии воздействовать на щелчки мыши на этих
На данный момент я получил следующий фрагмент кода: (фрагменты, дайте мне знать, если вам нужно что-то еще)
jButton1 = new JButton("CLICK");
jButton1.setBounds(0, 0, 100, 100);
После этого я добавляю свой actionlistener, который работает нормально, затем я создаю свою полосу прокрутки с помощью img:
BufferedImage wp = ImageIO.read(new File("Main_background.jpg"));
JLabel image = new JLabel(new ImageIcon(wp));
scrollerContainer.setSize(screen_width-50,screen_height-50);
scrollerContainer.setLayout(new BorderLayout());
Добавить кнопку в мой скроллерPane:
scroller.add(jButton1);
И наконец добавляет мою область прокрутки в мой контейнер:
scrollerContainer.add(scroller);
Что происходит, так это то, что кнопка появляется в довольно неожиданное время и в разных местах. Во-первых, он не отображается все время, кажется, что это происходит, когда java вызывает перерисовку / рисование, а во-вторых, кнопка «прокручивается» с помощью моей полосы прокрутки, что означает, что если мне нужно изображение в крайнем правом положении, кнопка все равно будет показать, даже если он должен отображаться только в 0,0. Я думаю, что я не должен добавлять jButton к моему объекту скроллера, но к чему-то еще? Но я не могу понять, что.
Надеюсь, что проблема имеет смысл, и кто-то может мне помочь :)