总结:

package com.da;
//这里我不明白,我对每一个Panle里的按钮设置了位置BorderLayout.SOUTH.可是为什么Lable的位置和它一样同步设置了呢?
//做一个界面
//0 嵌入式
//0 通信
// 0 增值业务
//0 传统应用软件
///JRadionButton
//JPanel,JFrame,J import javax.swing.JRadioButton;
import java.awt.Container; import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import java.awt.GridLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.BorderLayout; public class yu {
public static void main(String[] args) {
JFrame j = new JFrame();// 定义一个框架 Container c = j.getContentPane();// 容器类
// 现在需要实现把按及信息排列
c.setLayout(new GridLayout(4, 1));// 网格布局。 JPanel jp1 = new JPanel(new BorderLayout());// 这里在面板类中我并没设置它的布局方式,因为面板不就是一个大容器,只有一个吗?
JPanel jp2 = new JPanel(new BorderLayout());// 面板可以有多个吗?
JPanel jp3 = new JPanel(new BorderLayout());
JPanel jp4 = new JPanel(new BorderLayout()); // 第二步做JRadioButton。单选按钮组。并设定其位置
JRadioButton jr1, jr2, jr3, jr4;
jr1 = new JRadioButton();
jr2 = new JRadioButton();
jr3 = new JRadioButton();
jr4 = new JRadioButton(); // 第一步做Label显示
JLabel jl1, jl2, jl3, jl4;
jl1 = new JLabel("通信");
jl2 = new JLabel("嵌入式");
jl3 = new JLabel("增值业务");
jl4 = new JLabel("传统应用软件"); // 创建Panel类肯定不止一个,否则那跟所有label放入同一个容器没区别
// label.setFont(new Font("华文行楷",Font.BOLD,24));
ImageIcon bg = new ImageIcon(
"C:/Users/Administrator/Desktop/WuZi/image/21.jpg");
// 将按钮添加到Panel类
jp1.add(jr1, BorderLayout.SOUTH);
jp2.add(jr2, BorderLayout.SOUTH);
jp3.add(jr3, BorderLayout.SOUTH);
jp4.add(jr4, BorderLayout.SOUTH);
// 第四步添加Label组件显示提示信息
// 布局管理器除了给按钮定位,还可以给提示标签信息定位吗?
jp1.add(jl1); // 注意我们要想在Frame里改变组件的位置,不仅要创建不同的Panel类
jp2.add(jl2); // 还要记得每一个按钮组件都需要设定位置,对于Lable的里提示信息位置可以
jp3.add(jl3);
jp4.add(jl4); j.add(jp1);// 将面板添加到窗体
j.add(jp2);// 将面板添加到窗体
j.add(jp3);// 将面板添加到窗体
j.add(jp4);// 将面板添加到窗体 j.setLocationRelativeTo(null);
// j.setLayout(new FlowLayout());我快疯掉了,就是这一行,让我查半天,这里意思是顺序布局,当然无法换行显示
j.setSize(333, 333);// FlowLayout()意思是从左到右,我说怎么不能纵向排列,其实网格布局,BordLayout.WSET已经指定了位置,左对齐
j.setBackground(Color.pink);
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
j.setVisible(true); } private static void setBounds(int i, int j, int k, int l) {
// TODO Auto-generated method stub } }

  

Swing编程中为什么对Panel设置了位置后,它的lable位置也跟这变了呢?的更多相关文章

  1. c# WinForm窗体编程中对窗体程序设置快捷键

    c# WinForm窗体编程中对窗体程序设置快捷键http://www.cnblogs.com/bison1989/archive/2011/09/19/2180977.html /// <su ...

  2. 0x3f3f3f3f...编程中无穷大常量的设置技巧

    转自 http://aikilis.tk/ 如果问题中各数据的范围明确,那么无穷大的设定不是问题,在不明确的情况下,很多程序员都取0x7fffffff作为无穷大,因为这是32-bit int的最大值. ...

  3. python3中Requests将verify设置为False后,取消警告的方式

    import requests resp = requests.get('https://www.***.com', verify=False) 调用成功但是会有如下警告信息: InsecureReq ...

  4. Windows Phone编程中Dispatcher.BeginInvoke的使用

    在学习Windows Phone 程序开发时经常会使用到Dispatcher.BeginInvoke()的编程方法,可能许多初学者并不熟悉Dispatcher.BeginInvoke的使用方法以及为什 ...

  5. Java GUI编程中AWT/swing/SWT的优缺点

    http://www.cnblogs.com/dugang/archive/2010/10/22/1858478.html AWT AWT是Abstract Window Toolkit(抽象窗口工具 ...

  6. java中Swing编程再度练习篇

    总结: 注意理解frame的层级关系 package com.da; //添加背景图片 //我只实现了插入图片.但并没有实现是背景图片 import javax.swing.JFrame; impor ...

  7. PHP socket 编程中的超时设置

    PHP socket 编程中的超时设置.网上找了半天也没找到.贴出来分享之:设置$socket 发送超时1秒,接收超时3秒: $socket = socket_create(AF_INET,SOCK_ ...

  8. 疯狂JAVA讲义---第十二章:Swing编程(五)进度条和滑动条

    http://blog.csdn.net/terryzero/article/details/3797782 疯狂JAVA讲义---第十二章:Swing编程(五)进度条和滑动条 标签: swing编程 ...

  9. Java面向对象笔记 • 【第10章 Swing编程初级应用】

    全部章节   >>>> 本章目录 10.1 JFrame窗口容器 10.1.1 Swing介绍 10.1.2 JFrame窗口容器应用 JFrame常用方法 10.1.3 实践 ...

随机推荐

  1. INSPIRED启示录 读书笔记 - 第23章 改进现有产品

    不是一味地添加功能 改进产品不是简单地满足个别用户的要求,也不能对用户调查的结果照单全收.能提高指标的功能才是关注的重点.应该找准方向,分析关键指标,有针对性地改进产品

  2. Git使用http clone客户端保存用户名密码

    使用Git Bash时,用命令git pull或git push时总是要输入密码,很烦躁 解决办法 需要注意的是,这个方法是在Windows下使用 1. 新建环境变量   HOME 值为 %USERP ...

  3. Centos6.8安装Mysql5.7

    1.下载 wget https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm 2.安装用来配置mysql的yum源的rp ...

  4. Hadoop的Docker镜像构建

    1.Dockerfile ###Dockerfile -- beagin FROM ubuntu:trusty #MAINTAINER The Hue Team "https://githu ...

  5. SQl查询基础

    SQL语言是一门简单易学却又功能强大的语言,他让你快速上手并写出比较复杂的查询语句,但对于大多数开发者来书,使用SQL查询数据库并没有一个抽象的过程和一个合理的步骤,这很可能会是在写一些特定的查询语句 ...

  6. linux命令:head 命令

    head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾. 1.命令格式: hea ...

  7. Java编程思想 两个主函数

    //: initialization/DynamicArray.javapackage initialization; /* Added by Eclipse.py */// Array initia ...

  8. boot小知识

    lg 大, md 中等, sm 小, xs 极小. 可以单独用,也可以混合用,不同的屏幕用不同的比例. push ,pull 推拉.这个不实用. row里面可以嵌套实用row. 挤不下的时候,就会自动 ...

  9. 工程优化方法中的“最速下降法”和“DFP拟牛顿法”的 C 语言实现

    这个小程序是研一上学期的“工程优化”课程的大作业.其实这题本可以用 MATLAB 实现,但是我为了锻炼自己薄弱的编码能力,改为用 C 语言实现.这样,就得自己实现矩阵的运算(加减乘除.求逆.拷贝):难 ...

  10. Git中从远程的分支获取最新的版本到本地方式

    Git中从远程的分支获取最新的版本到本地方式如下, 如何更新下载到代码到本地,请参阅ice的博客基于Github参与eoe的开源项目指南 方式一 . 查看远程仓库 $ git remote -v eo ...