按钮未添加到jframe

时间:2015-10-16 09:15:55

标签: java

为什么JButton没有出现?

package expt;

import java.awt.Graphics;

import javax.swing.*;

class th extends JFrame
{
    JButton b=new JButton("Click");

    th()
    {
        setVisible(true);

        setSize(800, 400);

        setResizable(false);

        setDefaultCloseOperation(this.EXIT_ON_CLOSE);

        setLayout(null);

        getContentPane().add(b);

    }

    public void paint(Graphics g)
    {
        g.drawString("welcome", 150, 50);   
    }

    public static void main(String args[])
    {
        new th();   
    }
}

1 个答案:

答案 0 :(得分:1)

制作' setVisible(true)'是你对方法的最后陈述。

工作代码:

th(){

    setDefaultCloseOperation(this.EXIT_ON_CLOSE);
    setLayout(null);
    setSize(800, 400);
    setResizable(false);


    b.setSize(200, 100);   //Those line
    b.setLocation(30, 60);  //needed as using setLayout(null) 
   //b.setBounds(30, 60, 200, 100);  //Or only this method
    getContentPane().add(b);

    setVisible(true);

}

当您使用setLayout(null)时,您应手动修复按钮的大小和位置。

尽量避免空格局

了解布局https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html