Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

TransitMap.java import java.awt.*; import java.awt.event.MouseAdapter; import ja

ID: 3704117 • Letter: T

Question

TransitMap.java

import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.*;
public class TransitMap
{
JButton tooltipButton;
ImageIcon image1 = new ImageIcon("Bala_Hissar.jpg");
JLabel imageLabel;
public TransitMap()
{
JPanel topPanelLevel = new JPanel();
topPanelLevel.setLayout( new BorderLayout() );
JFrame frame = new JFrame("Satellite View");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ImageIcon image = new ImageIcon("Fortress.jpg");
imageLabel = new JLabel(image);
tooltipButton = new JButton(image);
tooltipButton.setToolTipText("tooltip");
imageLabel.setToolTipText("Bala Hissar Forest");
imageLabel.addMouseListener(new MouseAdapter()
{
@Override
public void mouseClicked(MouseEvent e)
{
int x=e.getX();
int y=e.getY();
if(x > 610 && x < 660 && y >340 && y < 390){
imageLabel.setIcon(image1);
}
}
});
frame.getContentPane().add(imageLabel);
frame.pack();
frame.setVisible(true);
  
}
public static void main(String[] args)
{
new TransitMap();
}

}

How to make make it smaller and add scroll pane

Explanation / Answer

Here is your solution:

TransitMap.java

import java.awt.*;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import javax.swing.*;

public class TransitMap {

JButton tooltipButton;

ImageIcon image1 = new ImageIcon("Bala_Hissar.jpg");

JLabel imageLabel;

public TransitMap() {

JPanel topPanelLevel = new JPanel();

topPanelLevel.setLayout(new BorderLayout());

JFrame frame = new JFrame("Satellite View");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

ImageIcon image = new ImageIcon("Fortress.jpg");

imageLabel = new JLabel(image);

tooltipButton = new JButton(image);

tooltipButton.setToolTipText("tooltip");

imageLabel.setToolTipText("Bala Hissar Forest");

imageLabel.addMouseListener(new MouseAdapter() {

@Override

public void mouseClicked(MouseEvent e) {

int x = e.getX();

int y = e.getY();

if (x > 610 && x < 660 && y > 340 && y < 390) {

imageLabel.setIcon(image1);

}

}

});

frame.getContentPane().add(new JScrollPane(imageLabel));

frame.setSize(400, 400);

frame.setVisible(true);

}

public static void main(String[] args) {

new TransitMap();

}

}

Explanation:-

Just remove the frame.pack(); and modify the "frame.getContentPane().add(imageLabel);" with "frame.getContentPane().add(new JScrollPane(imageLabel));" and add frame.setSize(400, 400); for size adjustment.

Whenever you call pack method it'll auto adjust the frame based on content size in panel.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote