我正在创建一个应用程序,作为某种类型的中心,用户可以将快捷方式存储到他们喜欢的应用程序并轻松启动它们.不过,我在使用FlowLayout时遇到了一些问题.当我使用GridLayout时,组件显示完美.当我使用FlowLayout时,根本没有任何显示.

网格布局:

FlowLayout中:

我所做的就是LayoutManager.当我调用getComponentCount时,它们都以9响应.

我觉得这个帖子很长,所以我把一个code的片段放在Code Tidy上(来自Pastebin)

预先感谢您的帮助!

解决方法:

1)FlowLayout非常接受来自JComponent的PreferredSize,每个JComponents都可以在屏幕上有不同的Dimension

示例(uncomnent getMinimumSize& getMinimumSize)

import java.awt.*;

import javax.swing.*;

public class CustomComponent extends JFrame {

private static final long serialVersionUID = 1L;

public CustomComponent() {

setTitle("Custom Component Test / BorderLayout");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setLayout(new FlowLayout());

}

public void display() {

add(new CustomComponents0(), BorderLayout.NORTH);

add(new CustomComponents0(), BorderLayout.CENTER);

add(new CustomComponents0(), BorderLayout.SOUTH);

add(new CustomComponents0(), BorderLayout.EAST);

pack();

// enforces the minimum size of both frame and component

setMinimumSize(getMinimumSize());

setPreferredSize(getPreferredSize());

setVisible(true);

}

public static void main(String[] args) {

Runnable r = new Runnable() {

@Override

public void run() {

CustomComponent main = new CustomComponent();

main.display();

}

};

javax.swing.SwingUtilities.invokeLater(r);

}

}

class CustomComponents0 extends JLabel {

private static final long serialVersionUID = 1L;

/*@Override

public Dimension getMinimumSize() {

return new Dimension(200, 100);

}

@Override

public Dimension getPreferredSize() {

return new Dimension(300, 200);

}*/

@Override

public void paintComponent(Graphics g) {

int margin = 10;

Dimension dim = getSize();

super.paintComponent(g);

g.setColor(Color.red);

g.fillRect(margin, margin, dim.width - margin * 2, dim.height - margin * 2);

}

}

2)GridLayout为每个JComponents创建比例区域,然后仅接受来自PreferredSize的具有更大Dimnesion的JComponent

3)对于GridLayout我说的是方法pack(),如果没有JFrame#setSize(),对于FLowLayout没关系,

标签:java,swing,layout-manager

来源: https://codeday.me/bug/20190723/1512637.html

为什么网格布局不显示java_java – 在GridLayout中不显示组件的FlowLayout?相关推荐

  1. idea下Maven项目module不加粗显示,maven project中不显示module

    记录一下idea下Maven项目module不加粗显示,maven project中不显示module,启动项目无法编译的问题 最近记性不好,来记录一下,每次搜百度都要好久.... 两种情况: 1. ...

  2. 扫描仪图标无法显示计算机,win7“我的电脑”中不显示扫描仪和摄像头的原因和解决方法...

    安装win7旗舰版系统后,点击打开"我的电脑"发现不显示扫描仪和摄像头图标,那么扫描仪和摄像头去哪里了呢?起初以为驱动没装好,但经过仔细研究,终于找到win7"我的电脑& ...

  3. php显示汉字,在php中如何显示汉字?

    我现在建立的是我从中文RSS网站的RSS feed中抓取的,但是一旦我回应出来是空白的,我的代码就工作在英文RSS上,我尝试了很多解码,iconv,header("Content-Type: ...

  4. excel行列突出显示_在Excel中突出显示即将到来的日期

    excel行列突出显示 Do you use Excel to keep track of upcoming payments, or other dates? To make that list m ...

  5. 中望cad文字显示问号怎么办_CAD中文字显示为问号怎样解决?

    CAD 中文字显示为问号怎样解决? 现在设计单位的交流越来越多,有单位内部的,也有单位之前 的交流,我们收到一张图纸打开后经常会因为没有字体而导致有些 字显示为?号,遇到此类问题如何解决呢 ? 要很好 ...

  6. android 下载多个图片不显示不出来,RecyclerView中图片显示不出来的两种种可能解决方法...

    转载注明出处:简书-十个雨点 简单描述一下背景: 有一个页面,使用recyclerView展示一个列表,列表的每个元素是由一张图片.两个textview组成,很简单的布局.加载图片使用的的volley ...

  7. html中div设置图片居中显示,图片在DIV中居中显示的方法

    问:如何让图片在DIV中水平和垂直两个方向都居中?(注意这里的图片非用作背景) 关于该问题的解决方法如下: 方法一: 思路:利用text-align属性将图片水平居中,然后设置padding-top的 ...

  8. java 网格布局管理器,Java图形化界面设计——布局管理器之GridLayout(网格布局)...

    网格布局特点: l  使容器中的各组件呈M行×N列的网格状分布. l  网格每列宽度相同,等于容器的宽度除以网格的列数. l  网格每行高度相同,等于容器的高度除以网格的行数. l  各组件的排列方式 ...

  9. 【Java AWT 图形界面编程】LayoutManager 布局管理器 ④ ( GridLayout 网格布局 | GridBagLayout 网格包布局 )

    文章目录 一.GridLayout 网格布局 二.GridLayout 构造函数 三.GridLayout 网格布局代码示例 四.GridBagLayout 网格包布局 一.GridLayout 网格 ...

最新文章

  1. 介绍两个好玩的和Github相关的Chrome扩展
  2. 国人如此浮躁为哪般? --- 我看2018年度AI圈八大造假事件华人独占6件
  3. [repost]Xcode因为证书问题经常报的那些错
  4. 软件工程——图书预定系统的各层数据流图
  5. 0502团队项目 SCRUM团队成立
  6. vim grep配置及使用
  7. PyQt5学习笔记13----pyqt线程间通信
  8. 任务“Microsoft Exchange Server”报告了错误(0x8004010F):“操作失败。找不到某个对象。”...
  9. 安卓actionbar上的搜索按钮点击没反应如何解决
  10. socket编程(四)
  11. 在阿里巴巴如何管理代码分支?
  12. 技术人成长路径之我见
  13. 互联网思维——平台思维
  14. 数显之家快讯:【SHIO世硕心语】董明珠北大演讲:十大掌声雷动的精彩看点!
  15. 《活出生命的意义》读后感
  16. CSDN如何快速提升等级
  17. Ubuntu下查看显卡型号及NVIDIA驱动版本
  18. 小程序生成统一支付prepay_id相关配置和类介绍
  19. 获取附件连接的函数:wp_get_attachment_image_src
  20. 前端鼠标触碰实现遮罩方法

热门文章

  1. vCenter Server Appliance(VCSA )6.7部署指南
  2. qt 5编程入门(第2版)_《C++并发编程实战第2版》第六章:设计基于锁的并发数据结构(1/3)...
  3. iphone双卡_单卡 iPhone 变双卡,3分钟搞定安卓备用机短信——IFTTT妙用
  4. html5群组选择器,css选择器
  5. 为什么仿宋字体打印出楷体_win7缺少仿宋_GB2312和楷体_GB2312字体,造成word字体显示不正常...
  6. pandas尾部添加一条_Numpy与Pandas
  7. 制作支付页面弹框html,JS实现仿微信支付弹窗功能_蜡烛_前端开发者
  8. oracle中packages使用,oracle中packages的使用
  9. 施工部署主要不包括_专项施工方案编制至少应该包括以下内容及管片选型主要依据以下原则...
  10. php explode 循环,PHP explode 切割字串 快速取得最後一個值