use of mudmap2.frontend.GUIElement.ScrollLabel in project mudmap2 by Neop.
the class WorldTab method createGui.
/**
* Creates the GUI elements
*/
private void createGui(World world, boolean passive) {
setLayout(new BorderLayout());
worldPanel = new WorldPanel(parentFrame, world, passive);
add(worldPanel, BorderLayout.CENTER);
worldPanel.addTileSiteListener(this);
worldPanel.addStatusListener(this);
worldPanel.addPlaceSelectionListener(new PlaceSelectionListener() {
@Override
public void placeSelected(Place place) {
updateInfobar();
}
@Override
public void placeDeselected(Place place) {
updateInfobar();
}
});
sidePanel = new SidePanel(world);
add(sidePanel, BorderLayout.EAST);
sidePanel.addLayerPanelListener(this);
sidePanel.addPlacePanelListener(this);
add(panelSouth = new JPanel(), BorderLayout.SOUTH);
panelSouth.setLayout(new GridBagLayout());
GridBagConstraints constraints = new GridBagConstraints();
constraints.insets = new Insets(1, 2, 0, 2);
// add bottom panel elements
// previous / next buttons for the history
JButton button_prev = new JButton("Prev");
constraints.gridx++;
panelSouth.add(button_prev, constraints);
button_prev.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
worldPanel.popPosition();
}
});
JButton button_next = new JButton("Next");
constraints.gridx++;
panelSouth.add(button_next, constraints);
button_next.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
worldPanel.restorePosition();
}
});
constraints.gridx++;
constraints.weightx = 1.0;
constraints.fill = GridBagConstraints.BOTH;
panelSouth.add(labelInfobar = new ScrollLabel(), constraints);
labelInfobar.startThread();
// set default selected place to hte center place
worldPanel.setCursor((int) Math.round(worldPanel.getPosition().getX()), (int) Math.round(worldPanel.getPosition().getY()));
constraints.gridx++;
constraints.weightx = 0.0;
constraints.fill = GridBagConstraints.NONE;
panelSouth.add(new JLabel("Map zoom:"), constraints);
constraints.gridx++;
sliderZoom = new JSlider(0, 100, (int) (100.0 / WorldPanel.TILE_SIZE_MAX * worldPanel.getTileSize()));
panelSouth.add(sliderZoom, constraints);
sliderZoom.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent arg0) {
worldPanel.setTileSize((int) ((double) worldPanel.TILE_SIZE_MAX * ((JSlider) arg0.getSource()).getValue() / 100.0));
}
});
}
Aggregations