Babanna Duggani
Babanna Duggani

Reputation: 727

JButton display issue

I have created a JFrame by creating a class(Display.java) that extends JFrame class. In that class I have created a JPanel object.

class Display extends JFrame {
        JPanel jp= new JPanel();

And in another class(TestBroadCastNode.java) I am adding JButtons to that JPanel by using reference to the class Display as shown below:

class TestBroadCastNode {

    Display disp;
    Graphics g =disp.getGraphics();
    JButton bt = new JButton("One");
    disp.jp.add(bt);
}

Now I am not able to display the buttons. Help me.... If you want I can send you the complete file.

Upvotes: 0

Views: 113

Answers (1)

Robin
Robin

Reputation: 36601

I tried to match your code as close as possible, but since you only gave limited snippets I had to make some assumptions. But the following code shows the button just fine:

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class TestClass {

  public static class Display extends JFrame {
    public JPanel panel = new JPanel(  );

    public Display(){
      super( "TestFrame");
      getContentPane().add( panel );
    }
  }

  public static class TestBroadCastNode{
    Display display;

    public TestBroadCastNode( Display aDisplay ) {
      display = aDisplay;
      display.panel.add( new JButton( "One" ) );
    }
  }

  public static void main( String[] args ) throws Exception {
    SwingUtilities.invokeLater( new Runnable() {

      public void run() {
        Display display = new Display();
        display.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

        new TestBroadCastNode( display );

        display.pack();
        display.setVisible( true );
      }
    } );
  }
}

Upvotes: 1

Related Questions