in src/main/java/org/adoptopenjdk/jitwatch/ui/nmethod/codecache/CodeCacheLayoutPanel.java [80:190]
private JPanel buildControlButtons()
{
JPanel panelButtons = new JPanel();
panelButtons.setLayout(new BoxLayout(panelButtons, BoxLayout.X_AXIS));
panelButtons.setBorder(new EmptyBorder(4, 4, 0, 8));
JButton btnZoomIn = new JButton("Zoom In");
JButton btnZoomOut = new JButton("Zoom Out");
JButton btnZoomReset = new JButton("Reset");
btnAnimate = new JButton("Animate");
checkC1 = new JCheckBox("Show C1");
checkC1.setSelected(drawC1);
checkC1.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
drawC1 = checkC1.isSelected();
repaint();
}
});
checkC2 = new JCheckBox("Show C2");
checkC2.setSelected(drawC2);
checkC2.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
drawC2 = checkC2.isSelected();
repaint();
}
});
txtAnimationSeconds = new JTextField("5", 5);
txtAnimationSeconds.setMaximumSize(new Dimension(60, 25));
txtAnimationSeconds.setEditable(false); // Assuming "readonly-label"
btnZoomIn.setPreferredSize(new Dimension(80, 25));
btnZoomOut.setPreferredSize(new Dimension(80, 25));
btnZoomReset.setPreferredSize(new Dimension(80, 25));
btnAnimate.setPreferredSize(new Dimension(80, 25));
btnZoomIn.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
zoom += 0.2;
repaint();
}
});
btnZoomOut.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
zoom -= 0.2;
zoom = Math.max(zoom, 1);
repaint();
}
});
btnZoomReset.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
zoom = 1;
repaint();
}
});
btnAnimate.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
try
{
double animateOverSeconds = Double.parseDouble(txtAnimationSeconds.getText());
animate(animateOverSeconds);
}
catch (NumberFormatException nfe)
{
// Handle exception (e.g., show an error message)
}
}
});
Component spacer = Box.createHorizontalGlue();
panelButtons.add(checkC1);
panelButtons.add(Box.createHorizontalStrut(10));
panelButtons.add(checkC2);
panelButtons.add(Box.createHorizontalStrut(20));
panelButtons.add(btnZoomIn);
panelButtons.add(Box.createHorizontalStrut(5));
panelButtons.add(btnZoomOut);
panelButtons.add(Box.createHorizontalStrut(5));
panelButtons.add(btnZoomReset);
panelButtons.add(Box.createHorizontalStrut(5));
panelButtons.add(btnAnimate);
panelButtons.add(Box.createHorizontalStrut(5));
panelButtons.add(txtAnimationSeconds);
panelButtons.add(spacer);
return panelButtons;
}