Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Hi I need help with this project I suppose to customize the project I already include a color background and now I need a label

Hi I need help with this project I suppose to customize the project I already include a color background and now I need a label with my name in it just make up a name and I will change it with mine. Also, I want each text to have a different font color can someone please help me don't mind with the image just show me how to include a jlabel in the program and under what method and also how to include a font color for the text that is included thank you.

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();

//Make updates to your top 5 list below. Import the new image files to resources directory.

addDestinationNameAndPicture("1. Top Destination ()", new ImageIcon(getClass().getResource("/resources/TestImage.jpg")));

addDestinationNameAndPicture("2. 2nd Top Destination", new ImageIcon(getClass().getResource("/resources/TestImage.jpg")));

addDestinationNameAndPicture("3. 3rd Top Destination", new ImageIcon(getClass().getResource("/resources/TestImage.jpg")));

addDestinationNameAndPicture("4. 4th Top Destination", new ImageIcon(getClass().getResource("/resources/TestImage.jpg")));

addDestinationNameAndPicture("5. 5th Top Destination", new ImageIcon(getClass().getResource("/resources/TestImage.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());

setBackground(list.getBackground());

setForeground(list.getSelectionForeground());

} else {

setBackground(Color.GREEN);

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) {}

}

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_2

Step: 3

blur-text-image_3

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

More Books

Students also viewed these Databases questions

Question

What external sources of recruitment are available?

Answered: 1 week ago

Question

Working with other project stakeholders for support.

Answered: 1 week ago

Question

Knowledge of project management (PMI) teachings

Answered: 1 week ago