首选大小

JProgressBar由UI委托

BasicProgressBarUI指定.下面的示例说明了各种布局管理器的效果. FlowLayout只使用UIManager默认值ProgressBar.horizo​​ntalSize,而GridLayout和BorderLayout.CENTER填充可用空间.带有侧面胶水的BoxLayout可在调整框架大小时按比例调整.

I am already using a SwingWorker

从SwingWorker的process()方法更新GUI应该是安全的.您可以更改图层甚至删除组件,但我会对过于复杂的事情保持警惕.

附录:这是相关的默认值.

System.out.println(UIManager.get("ProgressBar.horizontalSize"));

javax.swing.plaf.DimensionUIResource[width=146,height=12]

码:

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.EventQueue;

import java.awt.FlowLayout;

import java.awt.GridLayout;

import java.awt.LayoutManager;

import javax.swing.BorderFactory;

import javax.swing.Box;

import javax.swing.BoxLayout;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JProgressBar;

/** @see https://stackoverflow.com/questions/7256775 */

public class ProgressTest {

private static final Color border = Color.gray;

private static void display() {

JFrame f = new JFrame("ProgressTest");

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.setLayout(new GridLayout(0, 1));

f.add(createPanel(new FlowLayout()));

f.add(createPanel(new GridLayout()));

f.add(createPanel(new BorderLayout()));

JPanel p = new JPanel();

p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS));

p.setBorder(BorderFactory.createLineBorder(border));

JProgressBar jpb = new JProgressBar();

p.add(Box.createHorizontalGlue());

p.add(jpb);

p.add(Box.createHorizontalGlue());

jpb.setIndeterminate(true);

f.add(p);

f.pack();

f.setSize(320, 240);

f.setLocationRelativeTo(null);

f.setVisible(true);

}

private static JPanel createPanel(LayoutManager layout) {

JPanel p = new JPanel();

p.setBorder(BorderFactory.createLineBorder(border));

p.setLayout(layout);

JProgressBar jpb = new JProgressBar();

jpb.setIndeterminate(true);

p.add(jpb);

return p;

}

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

@Override

public void run() {

display();

}

});

}

}

java jpanel 叠加_java – 如何在JPanel上叠加,调整大小和居中组件?相关推荐

  1. java panel边框_java – 如何在jPanel上设置边框?

    我的项目包括两个类,GoBoard扩展了JPanel. GoTest.java: import javax.swing.*; import java.awt.Graphics; import java ...

  2. 如何用java创建超链接_Java如何在PPT中的幻灯片上创建超链接?

    在Java编程中,如何在PPT中的幻灯片上创建超链接? 注意:需要访问网址:http://poi.apache.org/download.html , 下载一个Apache POI软件包.这里下载最新 ...

  3. Java jpanel 设置_Java中设置Jpanel的背景

    一起学习 1.创建一个类ImagePanel,代码如下 import java.awt.BorderLayout; import javax.swing.JPanel; import java.io. ...

  4. mac java模拟器_iOS学习——如何在mac上获取开发使用的模拟器的资源以及模拟器中每个应用的应用沙盒...

    如题,本文主要研究如何在mac上获取开发使用的模拟器的资源以及模拟器中每个应用的应用沙盒.做过安卓开发的小伙伴肯定很方便就能像打开资源管理器一样查看我们写到手机本地或应用中的各种资源,但是在iOS开发 ...

  5. java panel分隔线_java 如何在jpanel上画垂直线、水平线、平行线?

    展开全部 定义一个类继承JPanel类,重写 JPanel 的 paint 方法,使用 Graphics 绘制线段,如下代码:import java.awt.BorderLayout; import  ...

  6. java jpanel 间距_Java的 . 调整JPanel上的问题大小

    BorderLayout 没有为此任务剪切,因为它为 CENTER 组件提供了所有剩余空间 . 如果您可以将布局更改为 GridBagLayout ,则最简单的方法是将最左侧的组件全部留在空间上 . ...

  7. java jpanel 滚动_java – 滚动一个JPanel

    使用JScrollPane并将其preferredSize强制为给定的大小(或将scrollPane容器LayoutManager设置为null并在scrollpane上调用setBounds()). ...

  8. java scrollpane放按钮_java – 如何在BoxLayout上放置scrollPane?

    我想让我的JFrame有一个BoxLayout能够有一个滚动窗格,所以我可以继续添加组,如果它是收据或发票打印机.有没有办法添加ScrollPane? 问题:如何将ScrollPane添加到JFram ...

  9. java for 下标_Java如何在 Word 中设置上、下标

    上标是指比同一行中其他文字稍高的文字,而下标是指比同一行中其他文字稍低的文字.在生活中,我们常见的平方米.立方米等符号以及化学中的各种元素符号,都是利用上.下标来表示的.本文将介绍通过Free Spi ...

最新文章

  1. 网页图表Highcharts实践教程之认识Highcharts
  2. todo:DSB and ISB
  3. QT串口2--控制GSM模块的使用
  4. Arduino--0.91寸OLED液晶屏
  5. 16岁上大学,25岁博士毕业,她还是南大医学院最年轻的博导!
  6. 面向对象思想 常说的OOP五大原则就是指1、单一职责原则; 2、开放闭合原则; 3、里氏替换原则; 4、依赖倒置原则; 5、接口隔离原则。...
  7. 使用jQuery开发tab选项卡插件
  8. swfupload使用说明
  9. SmartUpload上传下载使用
  10. 公司没有与员工签订劳动合同,也没有给员工购买社保,现在员工被公司解雇,该如何要求赔偿?
  11. 初级 IT 管理者,如何打通任督二脉?
  12. Splay_Tree 模板(区间修改,旋转操作)
  13. scrapy模拟登录微博
  14. iOS开发拓展篇—UIDynamic(捕捉行为)
  15. PyQt5实现软键盘
  16. 【SequoiaDB|巨杉数据库】巨杉数据库快速入门之快速使用
  17. 三、静息状态的神经元外膜
  18. 计算机怎么重装win7,手把手教你电脑怎么重装系统
  19. Hbase(nosql)体系结构有基本操作 笔记八
  20. 完整dm368打印信息

热门文章

  1. 【BZOJ2038】小Z的袜子,第一次的莫队算法
  2. e300氛围灯哪里调节_黑色的奔驰E300有了亚光膜的加持 一出场就惊艳四座
  3. Intel Sandy Bridge/Ivy Bridge架构/微架构/流水线 (10) - 乱序引擎概述
  4. unique去除重复的向量_R语言向量与因子
  5. Mosquito的优化——epoll优化(七)
  6. sql删除快还是update快_下班回家,是骑自行车减肥快还是走路减肥快?
  7. java net time_建了服可是老是提示java.net.SocketTimeoutException: Read time
  8. SVN中Branch/tag的比较
  9. UE3 移动设备主页
  10. Vue-cli 2在webpack内使用雪碧图(响应式)