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

Java Panels and Buttons Some of the requirements are the same: • there only one

ID: 3670762 • Letter: J

Question

Java Panels and Buttons

Some of the requirements are the same:
• there only one version of a student.
• student information is shown in the upper button (in myJPanel1).
• when the user clicks on the upper button in myJPanel1, then WhatsUp() is shown the lower button (in myJPanel2).

The difference here is that you are required to:
• do everything the in second panel, myJPanel2.
• No changes in myJPanel1.java
• I have already created a student myJPanel2 for you.

Therefore:
• You have to change one line in myJPanel.java (the panel that creates the two other panels)
• A lot of changes in myJPanel2.java
• NO changes in myJPanel1.java (of course there are changes in myJPanel1 screen, where the button b1 is located)

As you might have guessed by now one of the new things here is that you will have to implement in the second panel a listener for a button in the first panel.. Code below:

//app.java

public class app
{
public static void main(String args[])
{
  
    myJFrame mjf = new myJFrame();

}
}

--------------------------------------------------------

// myJFrame.java

import java.awt.*;
import javax.swing.*;

public class myJFrame extends JFrame
{
   public myJFrame ()
   {
       super ("My First Frame");
      

      myJPanel mjp = new myJPanel();
  
      
      
       getContentPane().add(mjp,"Center");
      

       setDefaultCloseOperation(EXIT_ON_CLOSE);
       setSize (640, 480);
       setVisible(true);
   }

}
-------------------------------------------

// myJPanel.java

import java.awt.*;
import javax.swing.*;

public class myJPanel extends JPanel
{
   public myJPanel()
   {
       super();
       setBackground(Color.gray);
      
       setLayout(new BorderLayout());

       myJPanel1 p1 = new myJPanel1();
       myJPanel2 p2 = new myJPanel2();

      
       add(p1,"North");
       add(p2,"Center");  
   }
}

----------------------------------------

//myJPanel1.java

//there should be no changes to this code

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class myJPanel1 extends JPanel
{
   JButton b1;
   public myJPanel1()
   {
       super();
       setBackground(Color.yellow);
       b1 = new JButton("student info will be here later ...");
       add(b1);
       }
      
}

-------------------------------

//myJPanel2.java

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class myJPanel2 extends JPanel
{
   JButton b2;
   student st1;
   public myJPanel2()
   {
       super();
       st1 = new student("Fred","Fonseca",44);
       setBackground(Color.pink);
       b2 = new JButton("whats Up will be shown here" );
       add(b2);
      
   }
  
}

---------------------------------------

// student.java

import java.awt.*;
import javax.swing.*;

public class student
{
       String firstName;
       String lastName;
       int age;

       public student(String a, String b, int x)
       {  
           super();
           firstName = a;
           lastName = b;
           age = x;
          
       }
      
       String getInfo()
       {
           return "NAME = "+firstName+ " "+lastName+" "+"Age = "+age;
       }
  
  
  
       String whatsUp()
       {
           double r = Math.random();
           int myNumber = (int) (r * 3f); //comment: a random number between 0 and 2
           String answer = "I don't know";
           if(myNumber == 0) answer = "searching the web";
           if(myNumber == 1) answer = "doing Java";
           if(myNumber == 2) answer = "Listening to endless lecture";
           return answer;
       }

  
  

}

Explanation / Answer

Please find below the correct java codes as requested. Kindly check and let me know if any issue.

Good Luck !!

// myJPanel.java

import java.awt.*;
import javax.swing.*;

public class myJPanel extends JPanel
{
   public myJPanel()
   {
       super();
       setBackground(Color.gray);
      
       setLayout(new BorderLayout());

      myJPanel2 p2 = new myJPanel2();

       add(p2,"Center");

myJPanel1 p1 = new myJPanel1(p2);

add(p1,"North");

   }
}

//myJPanel2.java

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote