测试 Label JLabel Button JButton 在 BorderLayout中setPreferredSize()的效果

  • 子部件.setPreferredSize时, 东西width起作用,南北height起作用, center都不起作用

    • 子Component的setPreferredSize(Dimension preferredSize) 在 南北 时 height起作用
    • 子Component的setPreferredSize(Dimension preferredSize) 在 东西 时 width起作用
    • 子Component的setPreferredSize(Dimension preferredSize) 在 中部 时 不起作用
package component;import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;import javax.swing.*;public class 测试SetPreferredSize在BorderLayout中有没有用2205222007 {static void pln() {System.out.println("");}static void pln(Object o) {System.out.println(o);}static void pln(Object o1, Object o2) {pln(o1+"  的结果是  "+o2);}static  Frame frame = new Frame("测试SetPreferredSize在BorderLayout中有没有用2205222007");static {frame.addWindowListener(new WindowAdapter() {@Override public void windowClosing(WindowEvent ev) {System.exit(0);}});
//      frame.setPreferredSize(new Dimension(1600,800));  //无用frame.setBounds(100,100,1600,800);}public  static  void main(String...arguments) throws Exception{Label label = new Label("Label  setPreferredSize(new Dimension(600, 0)", Label.CENTER); frame.add(label, BorderLayout.EAST);label.setBackground(Color.blue);label.setPreferredSize(new Dimension(600, 0));
//      label.setSize(800,200);  //无效JLabel jlb010 = new JLabel("JLabel  setPreferredSize(new Dimension(300,10))", JLabel.CENTER); frame.add(jlb010, BorderLayout.WEST);jlb010.setBackground(Color.YELLOW);jlb010.setPreferredSize(new Dimension(300,10));jlb010.setOpaque(true);Button button = new Button("Button  setPreferredSize(new Dimension(9999,200)"); frame.add(button, "North"); button.setPreferredSize(new Dimension(9999,200));JButton jButton = new JButton("JButton  setPreferredSize(new Dimension(9999,100)"); frame.add(jButton, "South"); jButton.setPreferredSize(new Dimension(9999,100));JButton jButton2 = new JButton("JButton  setPreferredSize(new Dimension(1,1)"); frame.add(jButton2, "Center"); jButton2.setPreferredSize(new Dimension(1,1));frame.setVisible(true);好酒在张工("java.awt.Label");好酒在张工("java.awt.Button");好酒在张工("javax.swing.JLabel");好酒在张工("javax.swing.JButton");}public static void 好酒在张工(String className) throws Exception{Frame frame = (Frame)Class.forName("java.awt.Frame").getDeclaredConstructor(String.class).newInstance("测试SetPreferredSize在BorderLayout中有没有用2205222007");frame.addWindowListener(new WindowAdapter() {@Override public void windowClosing(WindowEvent ev) {System.exit(0);}});
//      frame.setPreferredSize(new Dimension(1600,800));  //无用frame.setBounds(100,100,1600,800);String dxnbz[] = new String[] {"East" , "West" , "South" , "North" , "Center"};for(int i=0; i<dxnbz.length; i++) {Component component = (Component) Class.forName(className).getDeclaredConstructor(String.class).newInstance(dxnbz[i]);switch (dxnbz[i]) {case"East": component.setBackground(Color.RED); break;case"West": component.setBackground(Color.ORANGE); break;case"South": component.setBackground(Color.YELLOW); break;case"North": component.setBackground(Color.GREEN); break;case"Center": component.setBackground(Color.CYAN); break;}component.setPreferredSize(new Dimension(300,200));pln("查看默认的isOpaque() ,Component的false表示为轻量级组件, JComponent的true为不透明,看得到background,  component.getClass()="+component.getClass()+"    component.isOpaque()==", component.isOpaque());if(component.getClass()==JLabel.class) {JLabel jlb = (JLabel)component;jlb.setOpaque(true); // JLabel默认的opaque是false, 看不到background;pln("jlb.setOpaque(true);后, jlb.isOpaque()=", jlb.isOpaque());}frame.add(component, dxnbz[i]);}frame.setVisible(true);}}






都是东西width起作用,南北height起作用, center都不起作用

JavaAwtSwing笔记之 测试 Label JLabel Button JButton 在 BorderLayout中setPreferredSize()的效果相关推荐

  1. java label对齐方式_java – 在BorderLayout中对齐JLabel和JTextField

    我只是尝试使用一些GUI组件的Java BorderLayout和GridLayout. 我正在尝试右对齐JLabel并左对齐JTextFields,以便它可以更好看. 在setAlignmentX和 ...

  2. JavaAwtSwing之 Label和Button在代码编码与系统编码不同时显示中文会乱码, JLabel和JButton则不会

    Label和Button在代码编码与系统编码不同时显示中文会乱码, JLabel和JButton则不会 测试代码: package labelJLabel;import java.awt.*; imp ...

  3. python图形界面化编程GUI(一)窗口管理和常用的组件(Label、Button、Entry)

    GUI GUI(Graphics User Interface)图形用户界面编程.我们可以通过 python 提供的丰富的组件,快速的实现使用图形的界面和用户交互. GUI 编程类似于"搭积 ...

  4. Bootstrap4速成笔记二 Alert,Badge,Breadcrumb,Button

    目录 组件 准备工作 Alert提示组件 Badge标签组件 Breadcrumb导航路径组件 Button按钮组件 组件 准备工作 在编辑器中下载bootstrap4组件,我是用的是sublime ...

  5. 软件测试入门笔记(测试基础)by.肖洪福

    第一章 测试基础 1. 什么是软件测试: 利用手工或自动化,按照测试方案对系统执行测试用例的过程 两个依据(需求.测试用例),两个方法(手工.自动),一个对比(预期结果和实际结果的对比) 软件缺陷(不 ...

  6. wxpython使用matplot_测试怎么将MatPlotLib嵌入到wxPython中

    展开全部 # -*- coding: utf-8 -*- ####################################################################### ...

  7. java button 添加事件_java中如何给button添加事件

    一个例子, 参考下; 把第一个panelright.remove(firstpanel); package baidu; import java.awt.*; import java.awt.even ...

  8. Unity UGUI 之 实现按钮 Button 长按和双击的功能效果

    Unity UGUI 之 实现按钮 Button 长按和双击的功能效果 目录 Unity UGUI 之 实现按钮 Button 长按和双击的功能效果 一.简单介绍 二.实现原理 三.注意事项 四.效果 ...

  9. 如何控制在一个软件中特殊的字符比如#都显示为红色呢?该字符是作为标签中的内容出现的,可能出现在JLABEL,JCheckBox,JCombox的标签中的,

    如何控制在一个软件中特殊的字符比如#都显示为红色呢?该字符是作为标签中的内容出现的,可能出现在JLABEL,JCheckBox,JCombox的标签中的, 1)在资源文件中该如何配置, 2)如果是硬编 ...

最新文章

  1. 缓解数据包丢失对WAN的影响是当务之急—Vecloud微云
  2. SAP FI/CO 知识 浓缩版
  3. jQuery插件实战之fullcalendar(日历插件)Demo
  4. Error: <spyOn> : handleError() method does not exist
  5. LeetCode Search Insert Position (二分查找)
  6. Android Ap 开发 设计模式第七篇:生成器模式
  7. 小程序 封装table组件
  8. 格式小结 html 0926
  9. (20)VHDL移位寄存器
  10. python读取sas数据集_Python 数据处理库 pandas 入门教程基本操作
  11. 联想用u盘重装系统步骤_练习联想使用u盘重装win7教程
  12. Python--发送邮件和钉钉消息
  13. Python基础必掌握的5种数据类型和8种内置函数基本操作
  14. python输入身份证号得到出生日期_初学django1:django模型中自定义方法从身份证号码中获取出生日期...
  15. 微信小程序开发之倒计时定时器
  16. 立白洗衣粉之老子天下第一
  17. 转载《CSDC长沙开发者大会感想》
  18. MyBatisMySQL
  19. 安装MPICH2的过程与vs2022上面配置MPICH2的教程
  20. 高等数学 第九章 多元函数微分法及其应用 思维导图

热门文章

  1. JAVA高并发(一)——了解并行世界
  2. ES6面试题(测试题)
  3. Python+Django毕业设计智能导诊系统(程序+LW+部署)
  4. Doxygen——根据代码注释生成文档的工具
  5. 多张图片合并成PDF文件,还在下载合并软件,PS就能帮你搞定
  6. Jetson-Nano系统克隆
  7. sEMG信号小波阈值去噪
  8. 毕业学java_大学毕业我该何去何从,想学Java,但?
  9. 淘宝新开店铺如何提高转换
  10. DNS轮询,一个域名配多个IP实现负载均衡的研究