Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Please help. I am trying to change the background color but everything I do results in an error. Also I am trying to add images

Please help. I am trying to change the background color but everything I do results in an error. Also I am trying to add images side-by-side.

import java.awt.*;

import javax.swing.*;

import javax.swing.border.*;

public class TopFiveDestinationList {

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {

public void run() {

TopDestinationListFrame topDestinationListFrame = new TopDestinationListFrame();

topDestinationListFrame.setTitle("Top 5 Destination List");

topDestinationListFrame.setVisible(true);

}

});

}

}

class TopDestinationListFrame extends JFrame {

private DefaultListModel listModel;

public TopDestinationListFrame() {

super("Top Five Destination List");

setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

setSize(900, 750);

listModel = new DefaultListModel();

//Top 5 destinations

addDestinationNameAndPicture("1. Puerto Rico (Puerto Rico is a Caribbean island and unincorporated U.S. territory with a landscape of mountains, waterfalls and the El Yunque tropical rainforest.)" , new ImageIcon(getClass().getResource("/resources/puerto-rico.jpg")));

addDestinationNameAndPicture("2. Cayman Island", new ImageIcon(getClass().getResource("/resources/cayma-island.jpg")));

addDestinationNameAndPicture("3. Costa Rica", new ImageIcon(getClass().getResource("/resources/costa-rica.jpg")));

addDestinationNameAndPicture("4. Peru", new ImageIcon(getClass().getResource("/resources/peru.jpg")));

addDestinationNameAndPicture("5. Hawaii", new ImageIcon(getClass().getResource("/resources/hawaii.jpg")));

JList list = new JList(listModel);

JScrollPane scrollPane = new JScrollPane(list);

TextAndIconListCellRenderer renderer = new TextAndIconListCellRenderer(2);

list.setCellRenderer(renderer);

getContentPane().add(scrollPane, BorderLayout.CENTER);

}

private void addDestinationNameAndPicture(String text, Icon icon) {

TextAndIcon tai = new TextAndIcon(text, icon);

listModel.addElement(tai);

}

}

class TextAndIcon {

private String text;

private Icon icon;

public TextAndIcon(String text, Icon icon) {

this.text = text;

this.icon = icon;

}

public String getText() {

return text;

}

public Icon getIcon() {

return icon;

}

public void setText(String text) {

this.text = text;

}

public void setIcon(Icon icon) {

this.icon = icon;

}

}

class TextAndIconListCellRenderer extends JLabel implements ListCellRenderer {

private static final Border NO_FOCUS_BORDER = new EmptyBorder(1, 1, 1, 1);

private Border insideBorder;

public TextAndIconListCellRenderer() {

this(0, 0, 0, 0);

}

public TextAndIconListCellRenderer(int padding) {

this(padding, padding, padding, padding);

}

public TextAndIconListCellRenderer(int topPadding, int rightPadding, int bottomPadding, int leftPadding) {

insideBorder = BorderFactory.createEmptyBorder(topPadding, leftPadding, bottomPadding, rightPadding);

setOpaque(true);

}

public Component getListCellRendererComponent(JList list, Object value,

int index, boolean isSelected, boolean hasFocus) {

// The object from the combo box model MUST be a TextAndIcon.

TextAndIcon tai = (TextAndIcon) value;

// Sets text and icon on 'this' JLabel.

setText(tai.getText());

setIcon(tai.getIcon());

if (isSelected) {

setBackground(list.getSelectionBackground());

setForeground(list.getSelectionForeground());

} else {

setBackground(list.getBackground());

setForeground(list.getForeground());

}

Border outsideBorder;

if (hasFocus) {

outsideBorder = UIManager.getBorder("List.focusCellHighlightBorder");

} else {

outsideBorder = NO_FOCUS_BORDER;

}

setBorder(BorderFactory.createCompoundBorder(outsideBorder, insideBorder));

setComponentOrientation(list.getComponentOrientation());

setEnabled(list.isEnabled());

setFont(list.getFont());

return this;

}

// The following methods are overridden to be empty for performance

// reasons. If you want to understand better why, please read:

//

// http://java.sun.com/javase/6/docs/api/javax/swing/DefaultListCellRenderer.html#override

public void validate() {}

public void invalidate() {}

public void repaint() {}

public void revalidate() {}

public void repaint(long tm, int x, int y, int width, int height) {}

public void repaint(Rectangle r) {}

}

This is how it look right now.

image text in transcribed

Top 5 Destination List 1. Puerto Rico (Puerto Rico is a Caribbean island and unincorporated U.S. territory with a landscape of mountains, waterfalls and the El Yunque tropical rainforest.) 2. Cayman Island 3. Costa Rica 4. Peru

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database And Expert Systems Applications Dexa 2023 Workshops 34th International Conference Dexa 2023 Penang Malaysia August 28 30 2023 Proceedings

Authors: Gabriele Kotsis ,A Min Tjoa ,Ismail Khalil ,Bernhard Moser ,Atif Mashkoor ,Johannes Sametinger ,Maqbool Khan

1st Edition

ISBN: 303139688X, 978-3031396885

More Books

Students also viewed these Databases questions

Question

Compare Gardners and Sternbergs theories of intelligence.

Answered: 1 week ago