簡體   English   中英

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

[英]Java: How to add a button to a frame?

我嘗試使用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);
    }
}

那里有一個按鈕。 添加一些文字,它會神奇地出現。

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

您的按鈕已添加到框架中。 如果刪除frame.add()行,您會發現有所不同。 “問題”在於以下內容。

  • 您尚未使用默認的BorderLayout管理器指定導致框架的布局。
  • 您尚未在frame.add()指定約束。 因此,組件已添加到BorderLayout.CENTER布局的默認位置。 添加到中心的組件占用了盡可能多的空間,因此您的按鈕填充整個框架的原因。

這是關於布局管理器的一些教程 您可能希望在某些時候閱讀這些內容。

要刪除按鈕的大外觀,您需要將一個布局管理器添加到代碼中,如下所示:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM