java - 我不知道如何设置按钮之间的距离

标签 java

我想在按钮之间留出空间:

/image/XJMB8.png

我想把按钮放在中间,一个在另一个下面,它们之间有一定的距离,如果我的代码很乱,我很抱歉,我想做一些更复杂的事情,这只是一个原型(prototype),加上你不知道所以那么 Java GUI 就这么接受了批评

类(class)第一:

import javax.swing.*;

public class first {

    public static void main(String[] args) {

        second ob = new second();
        ob.setLocation(500, 100);
        ob.setSize(500, 500);
        ob.setVisible(true);
        ob.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }
}

二等:

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.File;
import java.util.Formatter;
import javax.swing.JOptionPane;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.text.Position;
import java.util.*;


public class second extends JFrame {
    int i;
    private JPanel pan1;
    private JPanel pan2;
    private JScrollPane scroll;
    private JTextArea tx;
    private JButton[] buton = new JButton[50];
    private Box box = new Box(BoxLayout.Y_AXIS);

    second() {

        pan1 = new JPanel();
        pan1.setBackground(Color.GREEN);
        pan1.setLocation(0, 0);
        pan1.setPreferredSize(new Dimension(500, 100));

        add(pan1, BorderLayout.NORTH);



        for (int i = 0; i < 50; i++) {

            buton[i]=new JButton("Button "+i);
            box.add(buton[i]);
        }

        JScrollPane sp = new JScrollPane(box);

        Dimension d = new Dimension(box.getComponent(0).getPreferredSize());

        sp.getVerticalScrollBar().setUnitIncrement(d.height);

        d.height *= 10; // Show at least 10 buttons

        sp.getViewport().setPreferredSize(d);
        add(sp);
        pack();
        setLocationRelativeTo(null);
        setVisible(true);


    }
}

最佳答案

one below the other with distance between them

阅读 Swing 教程中关于 How to Use BoxLayout 的部分。您可以在每个按钮之间添加 verticalStrut(...) 您可以使用 Box.CreateVerticalStrut(...) 方法来实现此目的。

另一种方法可能是使用GridLayout。创建布局时,您可以指定网格中的垂直间隙。注意:使用此方法,所有按钮都将具有相同的大小,并将填充可用空间,在这种情况下,您可能需要将面板与 GridLayout 嵌套在另一个面板中,以便按钮以合理的宽度显示。

类名应该以大写字符开头。查看JDK API中的所有类。请注意它们都是如何以大写字符开头的。

关于java - 我不知道如何设置按钮之间的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42257218/

相关文章:

java - 如何更改存储为像素值的图像的对比度和亮度

Java servlet 范围

java - 如何在 Ubuntu 中设置临时 Java 类路径

java - 匹配部分字符串以恢复密码

java - 与玩家一起移动绳索 Swing

Java:双舍入算法

java - Eclipse (java) - 无法解析为类型

java - 编程语言的分析器

java - 无法产生幻读

java - 错误/dalvikvm(1399) : Could not find class 'maptest.xyz.com.maps' , 从方法 maptest.xyz.com.maptest$1.onClick 引用