将图标图像设置为右上角和左下角按钮

时间:2014-04-22 00:53:08

标签: java swing jframe grid-layout

如何使用swing创建一个4x4网格的彩色可点击区域?好的,所以我有我需要的按钮。这是我的更新代码。我现在正试图让文本字段或jlabel显示在左下方。但我无法让它发挥作用。我认为让另一个小组可以修复它,但显然不是。

import java.awt.*;
import java.util.ArrayList;
import javax.swing.*;

public class Heist {

ArrayList<JButton> buttons = new ArrayList<JButton>();

public Heist(){
    JFrame frame = new JFrame("Hesit!");
    frame.setLayout(new BorderLayout());

    JPanel top = new JPanel();
    top.setLayout(new BoxLayout(top,BoxLayout.LINE_AXIS));
    top.add(new JTextField("Moves: "));

    JPanel center = new JPanel();
    center.setLayout(new GridLayout(4,4));
    for(int i = 0; i < 16; i++){
        center.add(new JButton());
                    buttons.add(new JButton());
    }

    JPanel bottom = new JPanel();
    JPanel bottomR = new JPanel();
    bottom.setLayout(new GridLayout(1,2));
    bottomR.setLayout(new GridLayout(1,2));
    bottomR.add(new JButton ("EMP"));
    bottomR.add(new JButton ("Reset"));
    bottom.add(new JTextField("Enter/Exit"));

    Container pane = frame.getContentPane();
    pane.add(top, BorderLayout.NORTH);
    pane.add(center, BorderLayout.CENTER);
    pane.add(bottom, BorderLayout.SOUTH);
    pane.add(bottomR, BorderLayout.SOUTH);

    frame.pack();
    frame.setSize(400,400);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
}

public static void main(String[] args){
    Heist gui = new Heist();
}

}

1 个答案:

答案 0 :(得分:2)

  

好吧,到目前为止,我已经制作了初步的gui,但我不确定如何   添加区域。我试过添加多个按钮,但它只是   显示一个按钮

JFrame的默认布局管理器是BorderLayout,它只允许单个组件占据它支持的五个可用位置中的任何一个。默认位置为CENTER位置

尝试使用GridLayout代替

有关详细信息,请参阅Laying Out Components Within a Container