Java:如何向框架添加按钮?

时间:2013-12-16 00:01:46

标签: java bluej

我尝试使用add.method向框架添加按钮。但只有框架弹出。 我没有看到任何按钮。

import javax.swing.*;
public class okd {
    public static void main() {
        JFrame frame = new JFrame();
        JButton b1 = new JButton();
        frame.setSize(500,500);
        frame.add(b1);
        b1.setSize(400,400);
        b1.setVisible(true);
        frame.setVisible(true);
    }
}

3 个答案:

答案 0 :(得分:7)

那里有一个按钮。添加一些文字,它会神奇地出现。

public static void main(String[] args){
    JFrame frame = new JFrame();
    JButton b1 = new JButton();
    frame.setSize(500,500);     
    b1.setSize(400,400);
    b1.setVisible(true);
    b1.setText("HelloWorld");
    frame.add(b1);
    frame.setVisible(true);
}//SSCCE1

答案 1 :(得分:3)

您的按钮已添加到框架中。如果您删除frame.add()行,您会发现存在差异。 “问题”在于以下内容。

  • 您尚未指定使用该框架导致框架的布局 默认BorderLayout管理器。
  • 您尚未在frame.add()中指定约束。因为这个 组件已被添加到默认位置 布局为BorderLayout.CENTER。组件添加到中心 占用尽可能多的空间,因此你的按钮填满了整个画面。

以下是一些教程on layout managers.您可能希望在某些时候阅读这些内容。

答案 2 :(得分:0)

要删除按钮的大外观,您需要在代码中添加布局管理器 像这样:

import javax.swing.*;
import java.awt.*;
public static void main(String[] args)
{
    JFrame frame = new JFrame();
    JButton b1 = new JButton();
    frame.setSize(500,500); 
    b1.setVisible(true);
    b1.setText("HelloWorld");
    frame.setLayout(new FlowLayout());
    frame.add(b1);
    frame.setVisible(true);
}