【问题标题】:Setting an icon image to top right and bottom left buttons [closed]将图标图像设置为右上角和左下角按钮[关闭]
【发布时间】:2014-04-22 00:53:08
【问题描述】:

如何使用 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();
}

}

【问题讨论】:

  • 简洁是他们所说的智慧的灵魂,但我们正在扩展事物
  • 抱歉,坦率地说,你的问题是个懒惰的问题。将来(甚至现在),如果您首先尝试解决它,您将获得更好的帮助。如果你不这样做,我们怎么知道你被困在哪里或让你感到困惑?此外,您的努力在尊重您和您的问题方面获得了很大的收益,表明您愿意付出努力和主动尝试首先自己解决问题。
  • 好吧,到目前为止我已经制作了初始 gui,但我不确定如何添加区域。我尝试添加多个按钮,但它只显示一个按钮。那么请问,我该如何先解决这个问题呢?
  • 如果您已经制作了 gui,最好发布您所拥有的并询问您在尝试实现按钮时遇到的问题。

标签: java swing jframe grid-layout


【解决方案1】:

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

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

尝试改用GridLayout

详情请见Laying Out Components Within a Container

【讨论】:

  • 好吧,我刚开始的时候就有了。但这对我来说从来没有成功过。我想我可能一直在添加错误的按钮。但后来总是出现一个按钮。
猜你喜欢
  • 2011-04-14
  • 2013-12-22
  • 2015-09-22
  • 1970-01-01
  • 1970-01-01
  • 2016-06-08
  • 2017-05-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多