import javax.swing.*; import java.awt.event.*; import java.awt.*; public class B
ID: 3906343 • Letter: I
Question
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class BookReview extends JFrame implements ActionListener {
private JLabel titleLabel;
private JTextField titleTxtFd;
private JComboBox typeCmb;
private ButtonGroup ratingGP;
private JButton processBnt;
private JButton endBnt;
private JButton clearBnt;
private JTextArea entriesTxtAr;
private JRadioButton excellentRdBnt;
private JRadioButton veryGoodRdBnt;
private JRadioButton fairRdBnt;
private JRadioButton poorRdBnt;
private String ratingString;
private final String EXCELLENT = "Excellent";
private final String VERYGOOD = "Very Good";
private final String FAIR = "Fair";
private final String POOR = "Poor";
String lineSeparator = System.getProperty("line.separator");
public BookReview(String name) {
super(name);
JPanel infoPanel = new JPanel();
titleLabel = new JLabel("Title: ");
infoPanel.add(titleLabel);
titleTxtFd = new JTextField(20);
infoPanel.add(titleTxtFd);
typeCmb = new JComboBox();
typeCmb.addItem("Novel");
typeCmb.addItem("Short Stories");
typeCmb.addItem("Essays");
typeCmb.addItem("Poems");
typeCmb.addItem("Biography");
//Add two new entries
typeCmb.addItem("Recipes");
typeCmb.addItem("Travelogue");
infoPanel.add(typeCmb);
getContentPane().add(infoPanel, BorderLayout.NORTH);
JPanel ratingPanel = new JPanel();
ratingGP = new ButtonGroup();
excellentRdBnt = new JRadioButton("Excellent");
veryGoodRdBnt = new JRadioButton("Very Good");
fairRdBnt = new JRadioButton("Fair");
poorRdBnt = new JRadioButton("Poor");
ratingGP.add(excellentRdBnt);
ratingGP.add(veryGoodRdBnt);
ratingGP.add(fairRdBnt);
ratingGP.add(poorRdBnt);
ratingPanel.add(excellentRdBnt);
ratingPanel.add(veryGoodRdBnt);
ratingPanel.add(fairRdBnt);
ratingPanel.add(poorRdBnt);
getContentPane().add(ratingPanel, BorderLayout.WEST);
JPanel actionPanel = new JPanel(new GridLayout(1,0));
processBnt = new JButton("process");
endBnt = new JButton("end");
clearBnt = new JButton("clear");
actionPanel.add(processBnt);
actionPanel.add(clearBnt);
actionPanel.add(endBnt);
getContentPane().add(actionPanel, BorderLayout.EAST);
entriesTxtAr = new JTextArea(20, 20);
getContentPane().add(entriesTxtAr, BorderLayout.SOUTH);
pack();
setVisible(true);
processBnt.addActionListener(this);
clearBnt.addActionListener(this);
//hand write the code for registering the
//other 6 components
//in the space below. The 6 components are: endBnt,
//excellentRdBnt, veryGoodRdBnt, fairRdBnt, poorRdBnt,
//and typeCmb.
//adding action listener for your six component by nirankar
endBnt.addActionListener(this);
excellentRdBnt.addActionListener(this);
veryGoodRdBnt.addActionListener(this);
fairRdBnt.addActionListener(this);
poorRdBnt.addActionListener(this);
typeCmb.addActionListener(this);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent event) {
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent event) {
Object srcObj = event.getSource();
if (srcObj == clearBnt) {
titleTxtFd.setText("");
} else if (srcObj == endBnt) {
System.exit(0);
} else if (srcObj == processBnt) {
entriesTxtAr.append(lineSeparator +
titleTxtFd.getText() + " " +
(String) typeCmb.getSelectedItem()
+ " " + ratingString);
} else if (srcObj == excellentRdBnt) {
ratingString = EXCELLENT;
} else if (srcObj == veryGoodRdBnt) {
ratingString = VERYGOOD;
} else if (srcObj == fairRdBnt) {
ratingString = FAIR;
} else if (srcObj == poorRdBnt) {
ratingString = POOR;
}
}
}
In the actionPerformed() method, there is a selection branch that is responsible for extract the type of the book? Cut and paste the code of that branch (test condition and the body of the branch) in the space below.
Explanation / Answer
else if (srcObj == excellentRdBnt) { ratingString = EXCELLENT; } else if (srcObj == veryGoodRdBnt) { ratingString = VERYGOOD; } else if (srcObj == fairRdBnt) { ratingString = FAIR; } else if (srcObj == poorRdBnt) { ratingString = POOR; }
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.