我想创建一个与Java swing的棋盘游戏,但我已经变得非常困惑与布局。此刻,我正试图创建用户所看到的图像。为了做到这一点,我使用了BorderLayout(我只需要使用边界网格流布局),我认为我会在东南西北部放置一些工作人员,并在中心放置基础板。问题是我必须创建道具使用JButton移动的路径(其余空间应该留空),并且该路径需要具有特定的交叉形状:http://i59.tinypic.com/eileys.png并且尺寸应该比平常小。对于初学者,我尝试过使用带有网格布局的JPanel(放在中间),但是无论我做什么(如setPreferredSize()),按钮都将调整大小以填充空间。 这是我的代码。谢谢你的时间,任何提示都会有帮助! 编辑:Java swing JButton的顺序和大小

package projtest1;

import java.awt.BorderLayout;

import java.awt.Dimension;

import java.awt.FlowLayout;

import java.awt.Font;

import java.awt.GridLayout;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

public class Board extends JFrame

{

public Board()

{

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setTitle("Border Layout");

setMinimumSize(new Dimension(1280, 768));

setSize(1280, 768);

JPanel contentPane = new JPanel();

contentPane.setLayout(new BorderLayout());

contentPane.add(new JButton("North"), BorderLayout.NORTH);

contentPane.add(new JButton("South"), BorderLayout.SOUTH);

contentPane.add(new JButton("West"), BorderLayout.WEST);

contentPane.add(new JButton("East"), BorderLayout.EAST);

JPanel buttonPanel = new JPanel();

buttonPanel.setLayout(new GridLayout(3, 1, 1, 1));

buttonPanel.setSize(new Dimension (800,800));

JPanel topButtonPanel = new JPanel();

JPanel middleButtonPanel = new JPanel();

JPanel lastButtonPanel = new JPanel();

topButtonPanel.setLayout(new GridLayout(6, 3, 1, 1));

middleButtonPanel.setLayout(new GridLayout(3, 15, 1, 1));

lastButtonPanel.setLayout(new GridLayout(6, 3, 1, 1));

topButtonPanel.setSize(new Dimension (100,300));

//topButtonPanel.setMinimumSize(new Dimension (100,300));

middleButtonPanel.setSize(new Dimension (700,100));

lastButtonPanel.setSize(new Dimension (100,300));

for (int i=0; i<18; i++)

{

JButton button = new JButton("(" + i + ")");

button.setFont(new Font("",Font.BOLD,10));

button.setPreferredSize(new Dimension(4, 4));

topButtonPanel.add(button);

}

for (int i=0; i<45; i++)

{

JButton button = new JButton("(" + i + ")");

button.setFont(new Font("",Font.BOLD,10));

button.setPreferredSize(new Dimension(4, 4));

middleButtonPanel.add(button);

}

for (int i=0; i<18; i++)

{

JButton button = new JButton("(" + i + ")");

button.setFont(new Font("",Font.BOLD,10));

button.setPreferredSize(new Dimension(4, 4));

lastButtonPanel.add(button);

buttonPanel.add(topButtonPanel);

buttonPanel.add(middleButtonPanel);

buttonPanel.add(lastButtonPanel);

}

contentPane.add(buttonPanel, BorderLayout.CENTER);

setContentPane(contentPane);

}

}

+0

您确定要为此使用JButton吗?或者,只需显示图像(电路板),将MouseListener添加到显示组件,然后使用一些基本的数学运算,计算用户在电路板上的点击位置以及点击位置的基础行为。 –

+0

这是一个项目,我们被告知只使用JButtons,并且只使用flowlayout,borderlayout和gridlayout。 –

+1

然后把你复杂的gui分解成它的组成矩形,给它们所有合适的布局管理器,并将它们嵌套在一起。 –

java jbutton 大小_Java swing JButton的顺序和大小相关推荐

  1. java null布局_Java Swing 绝对布局管理方法,null布局

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import java.awt.Container; import java.awt.Dimension; import java.awt.Rectang ...

  2. java queue 清空_java swing清除事件队列

    可以以标准方式执行此操作吗? 这是场景. 开始在EDT中执行一些昂贵的操作(EDT被阻止,直到昂贵的操作结束为止). 在阻止EDT的同时,用户继续单击/拖动鼠标按钮.所有鼠标动作都记录在某处. 当ED ...

  3. 斗牛java主程序设计_Java swing中制作斗牛游戏如何牛点

    雷晓东NANA 2019.01.08 采纳率:63%    等级:39 已帮助:98296人 进口的java.awt.BorderLayout;进口java.awt.event.MouseEvent中 ...

  4. java 皮肤包_Java swing图书管理系统无注释美化皮肤包版1:含SQL部分和效果图

    SQL: select ts_shuliang,jnum from tushu t join jieyue j on t.ts_id=j.ts_id where j.ts_id='1' j.ts_id ...

  5. java jbutton文字_JAVA swing JLabel JButton标签文本文字内容的换行

    package hj.exam.fram; import javax.swing.*; public class test extends JFrame { private JButton butto ...

  6. java swing 如何设置按钮大小_Java Swing - Button不改变宽度的大小

    我有一个使用FlowLayout的JPanel和一个垂直排列组件的Box. 我想要的是将其他组件的宽度大小设置为"删除列"按钮. 我试着线Java Swing - Button不改 ...

  7. java swing复选框大小_Java Swing界面编程(28)---复选框:JCheckBox

    程序可以通过JRadioButton实现单选按钮的功能,那么要实现复选框的功能,则必须使用JCheckBox完成. package com.beyole.util; import java.awt.C ...

  8. java jframe教程_Java Swing JFrame窗口的实现

    1. 概述 官方JavaDocsApi: javax.swing.JFrame JFrame,窗口.JFrame 是一个可以独立显示的组件,一个窗口通常包含有标题.图标.操作按钮(关闭.最小化.最大化 ...

  9. java接口防抖_java swing 防抖机制

    从问题开始说. 我们产品的 操作台(workbench) 是一个java swing程序. 有一个event handler的代码如下: public voidactionPerformed(Acti ...

  10. java监控任务进度_Java Swing组件实现进度监视功能示例

    本文实例讲述了java swing组件实现进度监视功能.分享给大家供大家参考,具体如下: 实例一: import java.awt.event.actionevent; import java.awt ...

最新文章

  1. 管理虚拟机的艺术——有备无患
  2. 程序猿的日常——Java基础之equals与hashCode
  3. JAVA中方法的类型转换_Java中几种常用数据类型之间转换的方法
  4. 十九、二叉树的最近的公共祖先
  5. 100offer接入云信专线电话,实现HR与候选人双向电话沟通
  6. sklearn数据集变换
  7. C# WINFORM中的combobox.items.add实现像web开发那样,添加显示内容text和实际value值
  8. Taro 多端项目实践笔记
  9. apt 根据注解,编译时生成代码
  10. js 正则练习之语法高亮
  11. C语言实现文件类型统计程序,C语言实现文件类型统计函数
  12. Eclipse环境安装Python插件PyDev
  13. 大道至简——第二章读后感
  14. 2018最新Python数据分析实战教程视频 python数据分析班视频 Python数据分析基础教程 利用Python进行数据分析
  15. 淘宝旺旺代码生成页面
  16. Git 基础之远程仓库-2.5
  17. 德·摩根定律的验证(De Morgan’s Laws)
  18. python bin函数_python bin函数
  19. java日志篇(2)-JUL(java.util.logging)
  20. 文明IV模组(MOD)制作指南

热门文章

  1. Ubuntu24.04下向日葵,CUDA,cuDNN的详细安装,亲测有效
  2. 【计算机网络】计算机网络笔记-韩立刚老师
  3. POI(兴趣点)抓取工具
  4. IDEA 打包jar
  5. MySQL安装配置教程(超详细!)
  6. Linux ubuntu中编写shell脚本文件
  7. matlab-m文件常用积分函数-ode45含有时变参数用法/菜鸟理解4
  8. 软件设计师考试详细介绍(最全)
  9. NoteExpress自定义题录表头显示字段
  10. idea 安装本地插件