205k views
3 votes
A custom window shade designer charges a base fee of $50 per shade. In addition, charges are added for certain styles, sizes, and colors as follows.

Styles:

Regular shades:Add $0

Folding shades: Add $10

Roman shades: Add $15



Sizes:

25 inches wide: Add $0

27 inches wide: Add $2

32 inches wide: Add $4

40 inches wide: Add $6



Colors:

Natural: Add $5

Blue: Add $0

Teal: Add $0

Red: Add $0

Green: Add $0



Create an application that allows the user to select the style, size, color, and number of shades from list boxes or combo boxes. if a combo box is used, set its drop-downstyle property in such a way the the new items cannot be added to the customer list by the user total charges should be displayed on a second form.

User Mwk
by
5.6k points

1 Answer

2 votes

Answer:

Check the explanation

Step-by-step explanation:

* Filename: ShadeDesigner.java

* Programmer: Jamin A. Bishop

* Date: 3/31/2012

* version 1.00 2012/4/2

*/

import java. awt.*;

import java. awt. event.*;

import java. text. DecimalFormat;

import javax. swing.*;

import javax. swing. event. ListSelectionEvent;

import javax. swing. event. ListSelectionListener;

public class ShadeDesigner extends JFrame

{

private String[] styles = {"Regular Shades", "Folding Shades", "Roman Shades"};

private String[] size = {"25 Inches Wide", "27 Inches Wide",

"32 Inches Wide", "40 Inches Wide"};

private String[] colors = {"Natural", "Blue", "Teal",

"Red", "Green"};

private JLabel banner;// To display a banner

private JPanel bannerPanel;// To hold the banner

private JPanel stylesPanel;//

private JPanel sizePanel;//

private JPanel colorPanel;

private JPanel buttonPanel;//

private JList stylesList;

private JList sizeList;

private JList colorList;

private JTextField Styles;

private JTextField Size;

private JTextField Color;

private JButton calcButton;

private JButton ExitButton;

private double totalCharges = 50.00;

//Constants

private final int ROWS = 5;

private final double regularCost = 0.00;//base price for the blinds

private final double foldingCost = 10.00;//extra cost for folding blinds

private final double romanCost = 15.00;//extra cost for roman blinds

private final double twentyfiveInCost = 0.00; //extra cost for 25" blinds

private final double twentySevenInCost = 2.00;//extra cost for 27" blinds

private final double thirtyTwoInCost = 4.00;//extra cost for 32" blinds

private final double fourtyInCost = 6.00;//extra cost for 40" blinds

private final double naturalColorCost = 5.00;//extra cost for color

public ShadeDesigner()

{

//display a title

setTitle("Shade Designer");

// Specify what happens when the close button is clicked.

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// Create the banner on a panel and add it to the North region.

buildBannerPanel();

add(bannerPanel, BorderLayout. NORTH);

stylesPanel();

add(stylesPanel, BorderLayout. WEST);

sizePanel();

add(sizePanel, BorderLayout. CENTER);

colorPanel();

add(colorPanel, BorderLayout. EAST);

buttonPanel();

add(buttonPanel, BorderLayout. SOUTH);

pack();

setVisible(true);

}

//build the bannerpanel

private void buildBannerPanel()

{

bannerPanel = new JPanel();

bannerPanel.setLayout(new FlowLayout(FlowLayout.CENTER));

banner = new JLabel("Shade Designer");

banner.setFont(new Font("SanSerif", Font.BOLD, 24));

bannerPanel.add(banner);

}

//stylepanel

private void stylesPanel()

{

JLabel styleTitle = new JLabel("Select a Style.");

stylesPanel = new JPanel();

stylesPanel. setBorder(BorderFactory. createEmptyBorder(5,5,5,5));

stylesList = new JList (styles);

stylesList.setVisibleRowCount(ROWS);

JScrollPane stylesScrollPane = new JScrollPane(stylesList);

stylesList. setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

stylesList. addListSelectionListener(new stylesListListener());

stylesPanel. setLayout(new BorderLayout());

stylesPanel. add(styleTitle, BorderLayout. NORTH);

stylesPanel. add(stylesScrollPane, BorderLayout. CENTER);

Styles = new JTextField (5);

Styles. setEditable(false);

//stylesPanel. add(StylesLabel, BorderLayout. CENTER);

stylesPanel. add(Styles, BorderLayout. SOUTH);

}

private class stylesListListener implements ListSelectionListener

{

public void valueChanged (ListSelectionEvent e)

{

String selection = (String) stylesList. getSelectedValue();

Styles. setText(selection);

}

}

//size panel

private void sizePanel()

{

JLabel sizeTitle = new JLabel("Select a Size.");

sizePanel = new JPanel();

sizePanel. setBorder(BorderFactory. createEmptyBorder(5,5,5,5));

sizeList = new JList (size);

sizeList.setVisibleRowCount(ROWS);

JScrollPane stylesScrollPane = new JScrollPane(sizeList);

sizeList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

sizeList.addListSelectionListener(new sizeListListener());

sizePanel. setLayout(new BorderLayout());

sizePanel. add(sizeTitle, BorderLayout. NORTH);

sizePanel. add(stylesScrollPane, BorderLayout. CENTER);

//sizeLabel = new JLabel("Style Selected: ");

Size = new JTextField (5);

Size.setEditable(false);

//stylesPanel. add(StylesLabel, BorderLayout. CENTER);

sizePanel. add(Size, BorderLayout. SOUTH);

}

private class sizeListListener implements ListSelectionListener

{

public void valueChanged (ListSelectionEvent e)

{

String selection = (String) sizeList. getSelectedValue();

Size. setText(selection);

}

}

User Abdullah Qudeer
by
5.4k points