-
在窗体中添加标签Label、Icon图标
2017-11-14 10:32:00一,在窗体中创建一个带有指定文本的标签对象并添加一个图像 实现界面: 详细代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 packagecom.lixiyu; ...一,在窗体中创建一个带有指定文本的标签对象并添加一个图像
实现界面:
详细代码:
12345678910111213141516171819202122232425262728293031323334package
com.lixiyu;
import
java.awt.Dimension;
import
java.awt.Toolkit;
import
javax.swing.ImageIcon;
import
javax.swing.JFrame;
import
javax.swing.JLabel;
public
class
Index {
public
void
add(JFrame frame){
frame.setTitle(
"添加标签"
);
//修改窗口标题
JLabel label=
new
JLabel(
"一个可爱的小孩!"
,JLabel.CENTER);
//创建指定文本的标签对象
label.setIcon(
new
ImageIcon(
"pic/MR1.JPG"
));
//添加图像
label.setHorizontalTextPosition(JLabel.CENTER);
//设置文本相对于图像的水平位置
label.setVerticalTextPosition(JLabel.BOTTOM);
//设置文本相对于图像的垂直位置
label.setEnabled(
false
);
//设置标签为不可用
label.setDisabledIcon(
new
ImageIcon(
"pic/MR2.JPG"
));
//设置标签在不可用情况下显示的图像
frame.add(label);
}
public
static
void
main(String[] args){
JFrame frame=
new
JFrame(
"利用JFrame创建窗口"
);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(
500
,
400
);
Dimension displaySize=Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize=frame.getSize();
if
(frameSize.width>displaySize.width)
frameSize.width=displaySize.width;
//窗口的宽度不能大于显示器的
if
(frameSize.height>displaySize.height)
frameSize.height=displaySize.height;
frame.setLocation((displaySize.width-frameSize.width)/
2
,
(displaySize.height-frameSize.height)/
2
);
//设置窗口居中显示
Index index=
new
Index();
index.add(frame);
//向JFrame窗口添加标签
frame.setVisible(
true
);
}
}
二、在窗口中添加图标
1.创建图标
实现界面:
详细代码:
12345678910111213141516171819202122232425262728293031323334353637package
com.lixiyu;
import
java.awt.Component;
import
java.awt.Container;
import
java.awt.Graphics;
import
javax.swing.Icon;
import
javax.swing.JFrame;
import
javax.swing.JLabel;
import
javax.swing.SwingConstants;
import
javax.swing.WindowConstants;
public
class
DrawIcon
implements
Icon{
//实现Icon接口
private
int
width;
//声明图标的宽
private
int
height;
//声明图标的高
public
int
getIconHeight(){
//实现getIconHeight方法
return
this
.height;
}
public
int
getIconWidth(){
//实现getIconWidth方法
return
this
.width;
}
public
DrawIcon(
int
width,
int
height) {
// TODO Auto-generated constructor stub
this
.width=width;
this
.height=height;
}
public
void
paintIcon(Component arg0,Graphics arg1,
int
x,
int
y){
//实现paintIcon方法
arg1.fillOval(x, y, width, height);
//绘制一个图形
}
public
static
void
main(String[] args){
DrawIcon icon=
new
DrawIcon(
15
,
15
);
JLabel j=
new
JLabel(
"在窗体中添加图标"
,icon,SwingConstants.CENTER);
//创建标签并设置为正中间
JFrame jf=
new
JFrame();
Container c=jf.getContentPane();
c.add(j);
jf.setSize(
170
,
100
);
jf.setVisible(
true
);
jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}
}
2.使用图片图标
实现界面:
详细代码:
123456789101112131415161718192021222324252627282930package
com.lixiyu;
import
java.awt.Container;
import
java.net.URL;
import
javax.swing.Icon;
import
javax.swing.ImageIcon;
import
javax.swing.JFrame;
import
javax.swing.JLabel;
import
javax.swing.SwingConstants;
import
javax.swing.WindowConstants;
@SuppressWarnings
(
"serial"
)
public
class
MyImageIcon
extends
JFrame{
public
MyImageIcon(){
Container container=getContentPane();
JLabel jl=
new
JLabel(
"今年NBA应该很好看"
,JLabel.CENTER);
URL url=MyImageIcon.
class
.getResource(
"image.png"
);
//获取图片所在的URL
Icon icon=
new
ImageIcon(url);
//实例化Icon对象
jl.setIcon(icon);
jl.setSize(
15
,
15
);
jl.setHorizontalAlignment(SwingConstants.CENTER);
jl.setOpaque(
true
);
container.add(jl);
setSize(
250
,
100
);
setVisible(
true
);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public
static
void
main(String[] args){
new
MyImageIcon();
}
}
本文转自lixiyu 51CTO博客,原文链接:http://blog.51cto.com/lixiyu/1312248,如需转载请自行联系原作者 -
Java代码实例
2016-06-21 22:44:5114.8 栈在Java中的实现 309 14.8.1 Stack类的使用 309 14.8.2 Deque接口的使用 310 14.8.3 利用栈计算数学表达式 311 14.9 集合元素的常用操作 314 14.9.1 元素排序 315 14.9.2 搜索特定元素 316 ... -
JAVA上百实例源码以及开源项目源代码
2018-12-11 17:07:42Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款... -
Java图形界面的基本设计
2018-12-10 09:34:212,向窗体中添加标签,标签类 3,向窗体中添加按钮,按钮类 二、详细代码 注意:1,在创建的这个界面类中需要继承监听接口来实现相应的增大字体的功能。 2,创建标签 (1)创建标签后需要用add函数将标签...一、图形界面的基本设计思路:
1,创建一个窗体,利用窗体类
2,向窗体中添加标签,标签类
3,向窗体中添加按钮,按钮类
二、详细代码
注意:1,在创建的这个界面类中需要继承监听接口来实现相应的增大字体的功能。
2,创建标签
(1)创建标签后需要用add函数将标签添加到窗体中
(2)设置字体颜色直接调用setForeground(Color.red);
(3)设置字体的格式时,需要创建一个格式的对象,然后用set将对象添加到标签中
Font font=new Font("楷体",Font.ITALIC,20); //选择字体格式
jLabel.setFont(font);3,创建按钮
(1)按钮类的构造函数创建按钮
(2)将按钮添加到窗体中去add函数
4,实现字体增大的功能时,需要写一个方法,用于接收操作事件
public void actionPerformed(ActionEvent e) {
i++;
Font font=new Font("楷体", Font.ITALIC, 20*i);
jLabel.setFont(font);
}5,添加了标签后,接着添加按钮会出现按钮将标签覆盖的问题,此时需要用布局管理器
用布局管理器类创建一个布局管理器,然后用set在窗体中设置这个布局管理器
6,在利用JFrame类创建窗体时,必须在最后通过setVisible(true)将窗体设置为可见
package TXjiemian; import java.awt.Color; import java.awt.FlowLayout; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; public class TXjm implements ActionListener{ private JFrame jFrame;//窗体 private JLabel jLabel;//标签 private JButton jButton;//按钮 private int i; public TXjm() { jFrame=new JFrame("我自己创建的窗体"); //创建窗体 jFrame.setSize(500, 500); //窗体大小 FlowLayout flowLayout=new FlowLayout(); //创建一个流式布局管理 jFrame.setLayout(flowLayout); //将布局管理器添加到窗体中 jLabel=new JLabel("山东农业大学"); //窗体标签 jFrame.add(jLabel); //将窗体标签添加到窗体中去 jLabel.setForeground(Color.red); //设置字体颜色 Font font=new Font("楷体",Font.ITALIC,20); //选择字体格式 jLabel.setFont(font); //设置字体格式 i=1; jButton=new JButton("增大字体"); //创建一个按钮 jFrame.add(jButton); //将按钮添加到窗体中 jButton.addActionListener(this); //监听,this是指的这个按钮,实现按钮的功能 jFrame.setVisible(true); } @Override //实现增大字体的功能 public void actionPerformed(ActionEvent e) { i++; Font font=new Font("楷体", Font.ITALIC, 20*i); jLabel.setFont(font); } }
三、测试类
package TXjiemian; public class TX_test { public static void main(String[] args) { TXjm tXjm=new TXjm(); } }
-
JAVA上百实例源码以及开源项目
2016-01-03 17:37:40util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码加以... -
java:布局方法(绝对布局)
2020-10-29 21:10:13绝对的布局一、简单引导二、流程图三、步骤详情(一)创建一个窗体1.源码A2.源码A的运行效果(二)在窗体里...而这些组件在窗体中的摆放方式,便会联系到后面的布局学习。 绝对布局,当我们编辑好组件在窗体容器中的坐一、简单引导
- layout(布局)
- 重点代码(绝对布局):
c.setLayout(null);// 为null时表示将容设为绝对布局为绝对布局;
- 一个窗体原本是空白的,当我们在里面添加一些组件(如:按钮、标签)后,窗体便不再单调。而这些组件在窗体中的摆放方式,便会联系到后面的布局学习。
- 绝对布局,当我们编辑好组件在窗体容器中的坐标以及本身大小的相关代码后,这个组件便已经相对于窗体固定住,此时,不管如何改变窗体都不会改变已固定组件的坐标及大小。
- 补充说明:坐标问题,以电脑桌面左上角为原点,再以窗体左上角相对于原点确定位置。后面关于容器中的组件位置坐标也类似,以左上角为准。以数学方式理解说,我们使用的是第四象限。
二、流程图
- 组件:比如按钮,标签等,后面源码则用按钮来做例子。
三、步骤详情
(一)创建一个窗体
1.源码A
源码A是创建一个普通的窗体,设置窗体坐标、大小、是否可见。
源码A如下:
/**内容: 绝对布局 容器里的组件不会随着对窗体的的变化而改变,组件的坐标和大小已经由代码固定,因此 想要改变组件坐标、大小变化,需要改变组件对应的代码参数。 */ import java.awt.Container;// 容器 import javax.swing.*;// 窗体 class Demo extends JFrame{ public Demo(){ setBounds(200,150,500,400);// 设置窗体,坐标,宽高;bounds(边界) //Default(默认值),Operation(操作) setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗体点击×便停止运行;md setVisible(true);// 是否可见 } public static void main(String[] args){ new Demo(); } }
2.源码A的运行效果
(二)在窗体里添加容器
源码B
-
源码B是在源码A的基础上添加。
-
源码B为添加容器,源码里只是添加了一句关键代码。事实上,各组件是放于容器中,组件的布局也就是组件在容器中的布局。而容器又是添加到窗体之中。如此关系。
-
源码B的运行效果和源码A一样。
源码B如下
/**内容: 绝对布局 容器里的组件不会随着对窗体的的变化而改变,组件的坐标和大小已经由代码固定,因此 想要改变组件坐标、大小变化,需要改变组件对应的代码参数。 */ import java.awt.Container;// 容器 import javax.swing.*;// 窗体 class Demo extends JFrame{ public Demo(){ setBounds(200,150,500,400);// 设置窗体,坐标,宽高;bounds(边界) //Default(默认值),Operation(操作) setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗体点击×便停止运行; // Container(容器),Content(目录),Pane(边界) Container c=getContentPane();// 添加容器c setVisible(true);// 是否可见 } public static void main(String[] args){ new Demo(); } }
(三)添加组件
1.源码C
- 源码C是在源码B的基础上添加。
- 源码C则是在容器里添加组件(按钮)且设定组件位置大小。
源码C如下:
/**内容: 绝对布局 容器里的组件不会随着对窗体的的变化而改变,组件的坐标和大小已经由代码固定,因此 想要改变组件坐标、大小变化,需要改变组件对应的代码参数。 */ import java.awt.Container;// 容器 import javax.swing.*;// 窗体 class Demo extends JFrame{ public Demo(){ setBounds(200,150,500,400);// 设置窗体,坐标,宽高;bounds(边界) //Default(默认值),Operation(操作) setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗体点击×便停止运行; // Container(容器),Content(目录),Pane(边界) Container c=getContentPane();// 添加容器c c.setLayout(null);// 为null时表示将容设为绝对布局为绝对布局;layout(布局) // 创建两个按钮,分别命名为“按钮1”,“按钮2” JButton b_1=new JButton("按钮1"), b_2=new JButton("按钮2"); b_1.setBounds(40,30,70,30);// 设置按钮1在容器中的坐标、宽高 b_2.setBounds(50,70,80,40); c.add(b_1);// 将 按钮1 放于容器c中 c.add(b_2); setVisible(true);// 是否可见 } public static void main(String[] args){ new Demo(); } }
2.源码C的运行效果
四、定位日期
2020.10.29;20:57
-
java swing 边界布局管理器
2017-06-07 16:22:56边界布局管理器:我们平时如何不指定窗口布局的情况下,默认的布局是边界布局,比如我们只添加一个标签组件,在运行我们就会看到标签被放在中间,并充满整个窗体,然而 边界布局的功能不止如此,还可以将窗体换分为...边界布局管理器:我们平时如何不指定窗口布局的情况下,默认的布局是边界布局,比如我们只添加一个标签组件,在运行我们就会看到标签被放在中间,并充满整个窗体,然而
边界布局的功能不止如此,还可以将窗体换分为东西南北中四个区域。
我们来看看代码实现
运行结果package mystudy; import java.awt.BorderLayout; import java.awt.Container; import java.awt.GridLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.WindowConstants; public class BorderLayout extends JFrame { JButton jb1 = new JButton("我"); JButton jb2 = new JButton("爱"); JButton jb3 = new JButton("你"); JButton jb4 = new JButton("中"); JButton jb5 = new JButton("国"); public BorderLayout() { setTitle("本窗口使用边界布局管理器"); Container c =getContentPane(); //设置窗体使用流布局管理器,使窗体分为5行2列。 setLayout(new BorderLayout()); //添加按钮组件 c.add(BorderLayout.CENTER,jb1); c.add(BorderLayout.NORTH,jb2); c.add(BorderLayout.SOUTH,jb3); c.add(BorderLayout.WEST,jb4); c.add(BorderLayout.EAST,jb5); //设置大小 setSize(600,400); setVisible(true); //使窗口可关闭 setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); } public static void main(String[] args) { new FlowLayoutPosition(); } }
-
java如何停止当前正在运行的线程,新手求解答
2013-09-10 02:08:35最近想做一个无线数据监控服务端,用java做的,面板Jframe设置了一个Jpanel,我称这个为Jpanel 1 ,在Jpanel 1中我定义了一个多选JCheckbox,有四种监控方式可选:Bluetooth,Wifi,GPRS,Zigbee。还定义了一个... -
《Java开发实战1200例(第I卷)》(李钟尉.陈丹丹).part2 高清完整PDF版
2016-06-13 15:53:27实例077 把异常与错误信息显示到窗体中 实例078 从字符串中分离文件路径、文件名及扩展名 实例079 判断手机号的合法性 实例080 用字符串构建器追加字符 实例081 去掉字符串中的所有空格 实例082 汉字与区位码... -
《Java开发实战1200例(第I卷)》(李钟尉.陈丹丹).part3 高清完整PDF版
2016-06-13 16:11:24实例077 把异常与错误信息显示到窗体中 实例078 从字符串中分离文件路径、文件名及扩展名 实例079 判断手机号的合法性 实例080 用字符串构建器追加字符 实例081 去掉字符串中的所有空格 实例082 汉字与区位码... -
Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3
2016-06-12 11:39:31实例077 把异常与错误信息显示到窗体中 97 实例078 从字符串中分离文件路径、 文件名及扩展名 98 实例079 判断手机号的合法性 99 实例080 用字符串构建器追加字符 100 实例081 去掉字符串中的所有空格 101 实例082 ... -
Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part1
2016-06-12 11:34:39实例077 把异常与错误信息显示到窗体中 97 实例078 从字符串中分离文件路径、 文件名及扩展名 98 实例079 判断手机号的合法性 99 实例080 用字符串构建器追加字符 100 实例081 去掉字符串中的所有空格 101 实例082 ... -
Java SE 6.0编程指南 源码
2012-05-18 13:40:4514.8 栈在Java中的实现 309 14.8.1 Stack类的使用 309 14.8.2 Deque接口的使用 310 14.8.3 利用栈计算数学表达式 311 14.9 集合元素的常用操作 314 14.9.1 元素排序 315 14.9.2 搜索特定元素 316 ... -
《Java Web开发实战1200例(第I卷)》(清华出版.卢瀚.王春斌).part2 高清完整PDF版
2016-06-13 12:06:47本书是第I卷,以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java Web进行程序开发的各个方面的知识和技巧,主要包括Java Web编程基础、文件操作管理、图形图像与多媒体技术、窗体应用... -
JAVA通讯录 TXT文档分页问题
2017-01-02 11:24:30我在做一个JAVA通讯录,想请问一下如何把这个TXT文档 超过20行分页显示,请前辈们多多指教,谢谢 方便的话请帮我写一下代码看看行吗 package MyAddBook; import java.awt.Choice;//选择 import java.awt.... -
editplus 代码编辑器html c++ jsp css
2009-08-08 13:00:27(2)选择“字符在范围中”,那么在“^”后会增加一对括号“[]”,当前插入点在括号中。括号在正则表达式中表示,文本中的字符匹配括号中任意一个字符即符合查找条件。 (3)按一下空格键,添加空格符。空格符是空行... -
swing界面设计之JTree
2009-07-24 11:24:24下载依赖的 JAR 文件并在 Eclipse 的 classpath 中定义这种依赖性 15 创建 to-do 列表:基本的 Swing 和 Spring 应用程序设置 17 创建 MainFrame、Launcher 和 ToDo 类 17 创建 Spring app-context.xml bean 定义... -
网页开发编辑系统V1.1 绿色版.rar
2019-07-15 01:27:252 可以自己设定要输入的代码的相关属性,自动输入代码; 3有SQL语句帮助,asp参考,ihtml参考,html参考,vb参考; 4.快速开发 三、软件菜单(功能)设计: 1.文件:新建.新建web文件,新建ASP文件,新建CSS文件,... -
JFrame的JButton点击事件无法正确显示另外的界面
2018-04-20 15:55:05// 在当前方法中代表当前的 这个(this)pool对象 this.addMouseListener(m); // 处理这个pool对象鼠标动作 this.addMouseMotionListener(m); net.show = true;// 调试代码 while (true) { // System.... -
C# Winform数据库应用设计(附开发案例
2021-02-07 13:30:42起使用,因为使用C#语言编写的所有代码总是在 Microsoft .net framework中运行。 1.1.2 Visual studio 微软针对Net推岀了功能强大的集成丌发环境来支持开发人员的№et应用程序丌发,这 就是 Visual studio,它是目前最... -
ApkIDE——安卓反编译
2014-10-19 10:52:47搜索结果面板中添加“全部关闭”功能,以便一键关闭所有搜索标签。 版本:2.4.1 alpha测试版 发布时间:2013.05.02 修复文件监控的问题,包括:(1)可能存在部份已被外部修改的文件不能即时通知用户重新加载的问题... -
Android开发权威指南.(人民邮电.李宁).pdf
2016-06-01 12:41:245.3.2 在EditText中输入特定的字符 117 5.3.3 AutoCompleteText-View(自动完成输入内容的控件) 118 5.4 按钮和复选框控件 120 5.4.1 Button(普通按钮控件) 120 5.4.2 图文混排的按钮 122 5.4.3 ... -
Android开发权威指南(第一版扫描版).李宁.pdf
2014-03-29 18:38:545.3.2 在EditText中输入特定的字符 117 5.3.3 AutoCompleteText-View(自动完成输入内容的控件) 118 5.4 按钮和复选框控件 120 5.4.1 Button(普通按钮控件) 120 5.4.2 图文混排的按钮 122 5.4.3 ... -
易语言程序免安装版下载
2011-04-07 09:28:50修改扩展界面支持库一,禁止透明标签在父窗口刷新时自动刷新,以解决其导致窗口刷新缓冲的问题。 8. 改进应用接口支持库中“设置屏幕分辨率”命令。 9. 修改外部数据库在“表中记录数为零”时可能导致程序崩溃的... -
将图片标签放在窗体底层面板,然后将窗体转化为JPan的容器,将JPan设为透明,背景图片就设置好了,之后就可以直接在该JPan中添加组件* package com.bluerabbit.librarysystem.view; import java.awt.Font; import...
-
Reliability Engineering_ Theory and Practice-.pdf
-
项目经理成长之路
-
_this2.$xxxis not a function
-
GC如何判断对象可以被回收
-
BGLightChangeDLL.zip
-
从Docker到Kubernetes之技术实战.pdf
-
MySQL 数据库权限管理(用户高级管理和精确访问控制)
-
在 Linux 上构建企业级 DNS 域名解析服务
-
MPC第1期.rar
-
Mycat 实现 MySQL的分库分表、读写分离、主从切换
-
微服务运行在docker上
-
DDC_SINCOS_7S_V1_0
-
基于SSM实现的房屋租赁系统【附源码】(毕设)
-
MySQL 高可用工具 DRBD 实战部署详解
-
MySQL 性能优化(思路拓展及实操)
-
MySQL Router 实现高可用、负载均衡、读写分离
-
成绩文件合并.txt
-
11. 含k个3的数.cpp
-
投标方法论
-
MySQL 备份与恢复详解(高低版本 迁移;不同字符集 相互转换;表