Swing 按钮显示问题
我通过创建一个扩展Swing 按钮显示问题,swing,jframe,jbutton,Swing,Jframe,Jbutton,我通过创建一个扩展JFrame类的类(Display.java),创建了一个JFrame。在这个类中,我创建了一个JPanel对象 class Display extends JFrame { JPanel jp= new JPanel(); 在另一个类(TestBroadCastNode.java)中,我通过引用类Display将JButtons添加到JPanel,如下所示: class TestBroadCastNode { Display disp; G
JFrame
类的类(Display.java
),创建了一个JFrame
。在这个类中,我创建了一个JPanel
对象
class Display extends JFrame {
JPanel jp= new JPanel();
在另一个类(TestBroadCastNode.java
)中,我通过引用类Display
将JButton
s添加到JPanel
,如下所示:
class TestBroadCastNode {
Display disp;
Graphics g =disp.getGraphics();
JButton bt = new JButton("One");
disp.jp.add(bt);
}
现在我无法显示按钮。帮助我。。。。如果你愿意,我可以把完整的文件寄给你 我试图尽可能地匹配您的代码,但由于您只提供了有限的代码片段,因此我不得不做出一些假设。但是下面的代码显示的按钮很好:
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 );
}
} );
}
}
如果看不到所有的代码,很难判断。一种可能是您没有将JPanel添加到Display类中的JFrame中。如果是,请尝试将面板上的布局更改为new JPanel(new BorderLayout()),然后在添加按钮时,使用jp.add(bt,BorderLayout.CENTER)。如果这两种方法都不管用,您可以尝试发布更多的代码。