Проблема с отображением JButton - PullRequest
0 голосов
/ 13 января 2012

Я создал JFrame, создав класс (Display.java), который расширяет класс JFrame.В этом классе я создал объект JPanel.

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

В другом классе (TestBroadCastNode.java) я добавляю JButton s к этому JPanel, используя ссылку на класс Display, как показано ниже:

class TestBroadCastNode {

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

Теперь я не могу отобразить кнопки.Помоги мне .... Если хочешь, я могу отправить тебе полный файл.

1 Ответ

1 голос
/ 14 января 2012

Я пытался сопоставить ваш код как можно ближе, но так как вы дали только ограниченные фрагменты, мне пришлось сделать некоторые предположения. Но следующий код показывает кнопку просто отлично:

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 );
      }
    } );
  }
}
...