swing实现鼠标动态调整面板大小解决方案.docx
- 文档编号:25218356
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:8
- 大小:18.35KB
swing实现鼠标动态调整面板大小解决方案.docx
《swing实现鼠标动态调整面板大小解决方案.docx》由会员分享,可在线阅读,更多相关《swing实现鼠标动态调整面板大小解决方案.docx(8页珍藏版)》请在冰豆网上搜索。
swing实现鼠标动态调整面板大小解决方案
swing实现鼠标动态调整面板大小解决方案
篇一:
java-修改鼠标形状
Java窗体中如何改变鼠标光标的形状
博客分类:
Java
大家都知道,鼠标的光标在不同的状态下呈现出不同的形状,但是怎么实现鼠标形状的改变的呢,现在我简单的说一下它的实现。
在这个类中有鼠标的多种形状
CROSSHAIR_CURSOR
十字光标类型。
CUSTOM_CURSOR
与所有定制光标有关的类型。
DEFAULT_CURSOR
默认光标类型(如果没有定义光标,则获取该设置)。
E_RESIZE_CURSOR
调整窗口右边框大小的光标类型。
HAND_CURSOR
手状光标类型。
MOVE_CURSOR
移动光标类型。
N_RESIZE_CURSOR
调整窗口上边框大小的光标类型。
Stringname
光标的用户可视名称。
NE_RESIZE_CURSOR
调整窗口右上角大小的光标类型。
NW_RESIZE_CURSOR
调整窗口左上角大小的光标类型。
staticCursor[]predefined
S_RESIZE_CURSOR
调整窗口下边框大小的光标类型。
SE_RESIZE_CURSOR
调整窗口右下角大小的光标类型。
SW_RESIZE_CURSOR
调整窗口左下角大小的光标类型。
TEXT_CURSOR
文字光标类型。
W_RESIZE_CURSOR
调整窗口左边框大小的光标类型。
WAIT_CURSOR
等待光标类型。
在窗体中有个setCursor的方法,比如,在JFrame中就这样用,窗体对象名.setCursor,然后鼠标在窗体中就变成了手状光标。
当然你也可以自己创建新的光标类型,首先,把需要的图标文件放在Java工程的目录下,光标形状类型coursor=
.createCustomCursor.getImage,newPoint,"stick");其中的image是Java工程下的文件名,为图片文件,new
ImageIcon.getImage的意思是创建一个图片对象并得到图片,newPoint10,20)的意思是创建一个空间坐标点,好了,然后在和上面一样调用setCursor方法就可以了,只不过里面的变量变为coursor了,哈哈,是不是很简单啊?
?
呵呵,当然,光标在什么时呈现什么形状,那就得添加鼠标监听器了,这得看你自己的设计咯……
有什么不对之处,请各位大虾指教指教!
!
!
!
!
!
!
!
篇二:
JAVASWING图形界面程序设计实验报告
图形界面(GUI)程序设计
一、课题内容和要求
内容:
设计和编写一个用于将人民币转换为等值的美元的程序,界面要求可以输入人民币的金额并可以得到转换后的结果。
要求:
学习和理解JAVASWING中的容器,部件,布局管理器和部件事件处理方法。
通过编写和调试程序,掌握JAVA图形界面程序设计的基本方法。
二、设计思路分析
classRMBtoDollar:
主类,调用主函数。
classchange:
设置界面,并通过界面上的事件触发实现汇率转换。
三、概要设计
publicclassRMBtoDollar{
}
classchangeextendsJFrameimplementsMouseListener{
JLabell1,l2,l3;JTextFieldtf1,tf2;JButtonb;doubleRMB,Dollar;publicchange;publicvoidmousePressed;publicvoidmouseClicked;
publicvoidmouseEntered;
publicvoidmouseExited;
publicvoidmouseReleaseed;//鼠标释放时进行转换}publicstaticvoidmain;
四、详细设计
import*;
import*;
import*;
publicclassRMBtoDollar{
publicstaticvoidmain{
newchange;
}
}
classchangeextendsJFrameimplementsMouseListener{
JLabell1,l2,l3;
JTextFieldtf1,tf2;
JButtonb;
doubleRMB,Dollar;
publicchange{//添加组件和设置布局
l1=newJLabel;
l2=newJLabel;
l3=newJLabel;
tf1=newJTextField;
tf2=newJTextField;
b=newJButton;
add;
add;
add;
add;
add;
add;
setLayout;
setTitle;
setBounds;
setVisible;
setDefaultCloseOperation;
;//鼠标事件监视器
}
publicvoidmousePressed{
if{//tf2test默认初始设为空
;
}
}
publicvoidmouseClicked{
}
}publicvoidmouseEntered{}publicvoidmouseExited{}publicvoidmouseReleased{if{//检查tf1test是否为空try{//取异常RMB=;//字符转为double型Dollar=RMB/;//转换;//显示}catch{;//如果输入不是数字,设为空}}}
五、测试数据及其结果分析
1正常输入:
2输入字符串不能转为double型时清空输入框:
3结果:
输出正常。
六、调试过程中的问题
一开始没有对输入流输入的字符串转为double型数据,导致不能转换,采用转为double型并抛出异常后解决了该问题。
七、程序设计总结
1、通过该实验掌握了JAVA图形界面程序设计的方法。
2、熟悉了JAVASWING中的容器、组件、布局以及事件监视器和事件接口的使用。
3、在逐步地优化和调试中实现了一个较实用的界面。
篇三:
8-Swing程序设计
1、按边界布局添加
5个按钮
步骤:
新建BorderLayoutTest项目
在项目中新建BorderLayoutTest类,位于包中
导入相关的类:
*;、*;
在main方法中完成以下操作:
①创建一个窗口对象:
JFramef=newJFrame;
②设置窗口的大小:
;
③设置界面的显示位置:
;
④设置界面的背景颜色:
;
⑤设置窗口可见:
;
⑥设置窗口关闭方式:
;
⑦创建5个显示文字的按钮:
JButtonb1=newJButton;
⑧设置窗口布局方式:
;
⑨按以下两种方式之一添加按钮组件到窗口中:
add
s:
表示位置add
x:
位置常量值。
2、拓展题:
参考第1题思路完成以下图形界面的设计
3、创建下图所示的图形界面,当鼠标点窗口右上角的“×”时,能够关闭该窗口,当鼠标点击按钮时,也能关闭窗口。
步骤:
新建CloseWindow项目
在项目中新建CloseWindow类,位于包中
导入相关的类:
*;、*;、*;
在main方法中完成以下操作:
①创建一个窗口对象:
JFramef=newJFrame;
②设置窗口的大小:
;
③设置界面的显示位置:
;
④设置界面的背景颜色:
;
⑤设置窗口可见:
;
⑥创建一个按钮:
JButtonb=newJButton;
⑦将按钮组件添加到窗口中:
;
自定义类:
WindowAdapter
①继承适配器类:
WindowAdapter
publicvoidMyWindowextendsWindowAdapter{
重写相关的窗口方法
}
②分析:
由于只有关闭窗口事件,所以只需在以上类中重写voidwindowClosing方法,方法体的内容为窗口退出代码,;
自定义类:
MyButton
①实现接口:
ActionListener
publicvoidMyButtonimplementsWindowAdapter{
实现接口中的方法
}
②分析:
这个接口中只有一个方法,voidactionPerformed,因此我们只需在
MyButton类中实现该方法,方法体的内容为窗口退出代码,;
回到main方法,给相关的事件源添加监控器
①窗口组件f:
;
②按钮组件b:
;
注意:
添加监控器方法的参数为实现了相应接口的类的对象。
此处也可以采用匿名内部类来实现,即将自定义类的内容放在参数对象后面。
3、制作一个加法计算器的界面,并实现求和的功能。
步骤:
新建AddTest项目
在项目中新建AddTest类,位于包中
导入相关的类:
*;、*;、*;
声明组件:
JFramef;JButtonb;JLabell1,l2;JTextFieldt1,t2,t3;
写构造方法:
publicAddTest{}
①完成类组件的初始化:
例,f=newJFrame;……
②设置窗口的大小:
;
③设置窗口的显示位置:
;
④设置窗口的布局:
);
⑤设置窗口可见:
;
⑥将组件添加到窗口中:
;
⑦给相关的事件源添加监控器
窗口组件f:
;
只要实现关闭窗口方法voidwindowClosing{;},其他
方法体的内容可为空。
按钮组件b:
;
只要实现动作执行方法
voidactionPerformed{
?
利用获取文本框t1中的内容,利用;将其
转换成int类型,将结果存储在整型变量x中;
?
利用获取文本框t2中的内容,利用;将其
转换成int类型,将结果存储在整型变量y中;
?
利用;给文本框t3设置显示的内容。
}
编写main方法:
只要创建一个AddTest实例即可
4、编写一个将华氏温度转换为摄氏温度的程序,其中一个文本行输入华氏温度,另一个文本行
显示转换后的摄氏温度,一个按钮完成温度的转换,转换公式如下:
摄氏温度=×5/9
5、绘制上图所示的界面,当单击“求和”按钮时,把“和”显示在“求和”按钮后的文本行中。
当单击“清除”按钮后,3个文本行的内容全部被清除,当单击窗口右上角的关闭按钮时,结束该程序。
6、建立一个图形用户界面,如图所示,当鼠标进入按钮一次时,输出“鼠标进入1”,当鼠标离开按钮时,输出“鼠标离开”,当鼠标点击按钮时,输出“单击动作”。
能够关闭该窗口,请编写代码实现
。
7、如图所示
要求:
当在左边的文本行输入文字之后,点确定按钮,输入的内容能在右边的文本区中显示。
步骤:
新建KeyTest项目
在项目中新建KeyTest类,位于包中
导入相关的类:
*;、*;、*;
声明组件:
JFramef;JButtonb;……
编写构造方法:
publicKeyTest{}
①完成类组件的初始化:
例,f=newJFrame;……
②设置窗口的大小:
;
③设置窗口的显示位置:
;
④设置窗口的布局:
;
⑤设置窗口可见:
;
⑥将组件添加到窗口中:
;
⑦给按钮添加动作监听器
匿名类体中写1个方法:
voidactionPerformed{……}
编写main方法:
只要创建一个KeyTest实例即可
8、如图所示
要求:
在上面选择,点确定按钮,所选择项目在下面文本区中显示。
步骤:
新建SelectTest项目
在项目中新建SelectTest类,位于包中
导入相关的类:
*;、*;、*;
声明组件:
JFramef;JButtonb;……
编写构造方法:
publicSelectTest{}
①完成类组件的初始化:
例,f=newJFrame;……
②设置窗口的大小:
;
③设置窗口的显示位置:
;
④设置窗口的布局,并将组件添加到窗口中
窗口上半部分放一个面板p,在p面板中加入两个面板p1,p2,面板p1中加入标签l1、4个复选框,面板p2中加入标签l2,四个单选按钮、1个按钮;容器的下半部分放一个文本区JTextArea。
⑤设置窗口可见:
;
⑥给按钮添加动作监听器
匿名类体中写1个方法:
voidactionPerformed{……}
编写main方法:
只要创建一个SelectTest实例即可。
9、建立下图所示的图形用户界面,要求在下拉框中选择相应的选项后,点“确定”按钮,选中
的内容能显示在下面的文本区中,请编写代码实现。
步骤:
新建ChoiceTest项目
在项目中新建ChoiceTest类,位于包中
导入相关的类:
*;、*;、*;
声明组件:
JFramef;JButtonb;……
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- swing 实现 鼠标 动态 调整 面板 大小 解决方案
![提示](https://static.bdocx.com/images/bang_tan.gif)