Question: Implement a JSlider in Java which changes the size of the image depending on the value selected: BASE CODE: Slideshow.java import java.util.*; import java.awt.*; import

Implement a JSlider in Java which changes the size of the image depending on the value selected:

BASE CODE:

Slideshow.java

import java.util.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.ChangeEvent;

import java.awt.event.ItemListener;

import java.util.concurrent.TimeUnit;

public class Slideshow extends JFrame {

private static final Dimension WindowSize = new Dimension(800,600);

private JComboBox imagesComboBox;

private JLabel label;

private JPanel buttonPanel;

private JButton buttons[];

private String names[] = {"Cars", "Trees", "Sports"};

private int inc = 0, reset = 0;

private Icon icons[] = {new ImageIcon("nissan.jpg"),new ImageIcon("ferrari.jpg"),new ImageIcon("lamborghini.jpg"), new ImageIcon("tree1.jpg"),new ImageIcon("tree2.jpg"), new ImageIcon("tree3.jpg"),new ImageIcon("basketball.jpg"),new ImageIcon("soccer.jpg"),new ImageIcon("NFL.jpg")};

public Slideshow() throws InterruptedException {

JSlider slider = new JSlider(JSlider.HORIZONTAL);

slider.setMajorTickSpacing(20);

slider.setPaintLabels(true);

slider.setPaintTicks(true);

setLayout(new FlowLayout());

this.add(slider);

Dimension screensize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();

int x = (int) screensize.getWidth()/2 - WindowSize.width/2;

int y = (int) screensize.getHeight()/2 - WindowSize.height/2;

setBounds(x, y, WindowSize.width, WindowSize.height);

setVisible(true);

this.setTitle("Slideshow");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

BorderLayout layout = new BorderLayout(5,5);

Container container = getContentPane();

container.setLayout(layout);

buttons = new JButton[3];

JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.CENTER));

JButton green = new JButton( "Green");

JButton blue = new JButton( "Blue");

JButton yellow = new JButton( "Yellow");

ButtonHandler handler = new ButtonHandler();

green.addActionListener(handler);

blue.addActionListener(handler);

yellow.addActionListener(handler);

buttonPanel.add(green);

buttonPanel.add(blue);

buttonPanel.add(yellow);

container.add( buttonPanel, BorderLayout.SOUTH );

JPanel ComboBox = new JPanel(new FlowLayout(FlowLayout.CENTER));

imagesComboBox = new JComboBox(names);

imagesComboBox.setMaximumRowCount(3);

imagesComboBox.addItemListener( new ItemListener()

{

public void itemStateChanged( ItemEvent event )

{

if ( event.getStateChange() == ItemEvent.SELECTED )

if(imagesComboBox.getSelectedIndex() == 0) {

label.setIcon(icons[imagesComboBox.getSelectedIndex()] );

inc = 0;

reset = 1;

}

if (imagesComboBox.getSelectedIndex() == 1) {

inc = 2;

label.setIcon(icons[3] );

reset = 1;

}

else if (imagesComboBox.getSelectedIndex() == 2){

inc = 4;

label.setIcon(icons[6] );

reset = 1;

}

}

}

);

ComboBox.add(imagesComboBox);

container.add( ComboBox, BorderLayout.NORTH);

// set up JLabel to display ImageIcons

while(true) {

reset = 0;

int i = imagesComboBox.getSelectedIndex() + inc;

for(i = imagesComboBox.getSelectedIndex() + inc; i < imagesComboBox.getSelectedIndex() + inc + 3; i++) {

label = new JLabel( icons[ i ] );

container.add( label );

setVisible( true );

TimeUnit.SECONDS.sleep(2);

container.remove(label);

if(reset == 1){

i = imagesComboBox.getSelectedIndex() + inc;

reset = 0;

}

}

}

}

public static void main( String args[] ) throws InterruptedException

{

Slideshow application = new Slideshow();

application.setDefaultCloseOperation(

JFrame.EXIT_ON_CLOSE );

}

private class ButtonHandler implements ActionListener {

// handle button event

public void actionPerformed( ActionEvent event )

{

if(event.getActionCommand().equals("Green")) {

getContentPane().setBackground(Color.GREEN);

}

else if(event.getActionCommand().equals("Blue")) {

getContentPane().setBackground(Color.BLUE);

}

else if(event.getActionCommand().equals("Yellow")) {

getContentPane().setBackground(Color.YELLOW);

}

}

}

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!