Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

import java.awt.*; import javax.swing.*; @SuppressWarnings(\"serial\") public cl

ID: 3554370 • Letter: I

Question

import java.awt.*;

import javax.swing.*;

@SuppressWarnings("serial")
public class CreateGUI extends JFrame
{
   JButton but1 = new JButton("Button 1");
  
   private JCheckBox jcOption1 = new JCheckBox ("Option 1");
   private JCheckBox jcOption2 = new JCheckBox ("Option 2");
   private JCheckBox jcOption3 = new JCheckBox ("Option 3");
  
  
   private JRadioButton jrOption1 = new JRadioButton ("Option 1");
   private JRadioButton jrOption2 = new JRadioButton ("Option 2");
   private JRadioButton jrOption3 = new JRadioButton ("Option 3");
  
   private JTextField jtfMessage = new JTextField();
  
   public static void main(String[] args)
   {
       CreateGUI Jframe = new CreateGUI();
       Jframe.pack();
       Jframe.setSize(600,250);
       Jframe.setTitle("Practical Exercise 8");
       Jframe.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
       Jframe.setVisible(true);
      
   }
   public CreateGUI()
   {
      
       JPanel jp2 = new JPanel();
  
       jp2.add(new JButton ("My Button"));
      
       JPanel jpCheckBoxes = new JPanel();
       jpCheckBoxes.setLayout(new GridLayout (3,1));
       jpCheckBoxes.add(jcOption1);
       jpCheckBoxes.add(jcOption2);
       jpCheckBoxes.add(jcOption3);
       add(jpCheckBoxes, BorderLayout.EAST);
      
      
       JPanel jpRadioButton = new JPanel();
       jpRadioButton.setLayout(new GridLayout (3,1));
       jpRadioButton.add(jrOption1);
       jpRadioButton.add(jrOption2);
       jpRadioButton.add(jrOption3);
       add(jpRadioButton, BorderLayout.WEST);
      
       jrOption1.setSelected(true);
  
      
      
       JPanel jpTextField = new JPanel();
       jpTextField.setLayout(new BorderLayout(5,0));
       jpTextField.add(new JLabel("First Name"),BorderLayout.WEST);
       jpTextField.add(jtfMessage, BorderLayout.CENTER);
      
       jpTextField.add(new JLabel("Last Name"),BorderLayout.EAST);
       jpTextField.add(jtfMessage, BorderLayout.CENTER);
       jtfMessage.setHorizontalAlignment(JTextField.LEFT);   
       add(jpTextField, BorderLayout.NORTH);
  
       add(jp2, BorderLayout.SOUTH);
  
      
   }
  
  
}

The frame has a size of 600 Times 250 4 different custom panels are added to the frame: TopPanel, BottomPanel, RadioButtonPanel, and CheckBoxPanel Both RadioButtonPanel and CheckBoxPanel have a preferred size of 100x300 Both TopPanel and BottomPanel have a preferred size of 600 Times 50 5 Take advantage of layout managers to achieve this look Create the UML that depicts the relationship between the frame object and the rest of the objects

Explanation / Answer

import java.awt.*;

import javax.swing.*;

@SuppressWarnings("serial")
public class CreateGUI extends JFrame
{
   JButton but1 = new JButton("Button 1");

   private JCheckBox jcOption1 = new JCheckBox ("Option 1");
   private JCheckBox jcOption2 = new JCheckBox ("Option 2");
   private JCheckBox jcOption3 = new JCheckBox ("Option 3");


   private JRadioButton jrOption1 = new JRadioButton ("Option 1");
   private JRadioButton jrOption2 = new JRadioButton ("Option 2");
   private JRadioButton jrOption3 = new JRadioButton ("Option 3");

   private JTextField jtfMessage = new JTextField();

   public static void main(String[] args)
   {
       CreateGUI Jframe = new CreateGUI();
       Jframe.pack();
       Jframe.setSize(600,250);
       Jframe.setTitle("Practical Exercise 8");
       Jframe.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
       Jframe.setVisible(true);
    
   }
   public CreateGUI()
   {
    
       JPanel jp2 = new JPanel();

       jp2.add(new JButton ("My Button"));
       JPanel jpCheckBoxes = new JPanel();
       jpCheckBoxes.setSize(100,300);
       jpCheckBoxes.setLayout(new GridLayout (3,1));
       jpCheckBoxes.add(jcOption1);
       jpCheckBoxes.add(jcOption2);
       jpCheckBoxes.add(jcOption3);
       add(jpCheckBoxes, BorderLayout.EAST);
    
       JPanel jpRadioButton = new JPanel();
       jpRadioButton.setSize(100,300);
       jpRadioButton.setLayout(new GridLayout (3,1));
       jpRadioButton.add(jrOption1);
       jpRadioButton.add(jrOption2);
       jpRadioButton.add(jrOption3);
       add(jpRadioButton, BorderLayout.WEST);
    
       jrOption1.setSelected(true);

       JPanel jpTextField = new JPanel();
    
       jpTextField.setLayout(new BorderLayout(160,100));
       jpTextField.add(new JLabel("First Name:"),BorderLayout.WEST);
       jpTextField.add(jtfMessage, BorderLayout.CENTER);
       jtfMessage.setHorizontalAlignment(JTextField.LEFT);
    
         
       jpTextField.add(new JLabel("Last Name:"),BorderLayout.EAST);
       jpTextField.add(jtfMessage, BorderLayout.CENTER);
       jtfMessage.setHorizontalAlignment(JTextField.LEFT);
       add(jpTextField, BorderLayout.NORTH);

       add(jp2, BorderLayout.SOUTH);
   }
  
}