首页 >> 大全

用java编写在界面中画圆_Java编程实现swing圆形按钮实例代码

2023-12-28 大全 36 作者:考证青年

Swing是一个为Java设计的GUI工具包。

Swing是JAVA基础类的一部分。

Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。

Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。它们是JFC的一部分。它们支持可更换的面板和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们。这意味着你可以在任意平台上使用JAVA支持的任意面板。轻量级组件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行为。

下面看看实现按钮的简单实例:

java.awt.*;

java.awt.geom.*;

javax.swing.*;

class {

( label) {

super(label);

// 这些声明把按钮扩展为一个圆而不是一个椭圆。

size = ();

size.width = size. = Math.max(size.width, size.);

(size);

// 这个调用使不画背景,而允许我们画一个圆的背景。

(false);

this.(Color.GRAY);

// 画圆的背景和标签

void ( g) {

if (().()) {

// 你可以选一个高亮的颜色作为圆形按钮类的属性

g.(Color.);

} else {

g.(());

g.(0, 0, ().width - 1, (). - 1);

// 这个调用会画一个标签和焦点矩形

super.(g);

// 用简单的弧画按钮的边界

void ( g) {

g.(());

g.(0, 0, ().width - 1, (). - 1);

// 侦测点击事件

Shape shape;

(int x, int y) {

// 如果按钮改变大小,产生一个新的形状对象。

if (shape == null || !shape.().(())) {

shape = new .Float(0, 0, (), ());

shape.(x, y);

// 测试程序

void main([] args) {

// 产生一个带‘'标签的按钮。

= new ("");

ic = new ("E:////Icons//.gif");

= new (ic);

.(Color.GRAY);

// 产生一个框架以显示这个按钮。

frame = new ();

frame.tion(.);

// frame.().(Color.GRAY);

frame.().add();

frame.().add();

frame.().(new ());

frame.(200, 200);

frame.(true);

结果:

接着再分享一则实现简单点击事件的按钮Java示例。

这是一个关于制作圆形Swing按钮的技巧。事实上,这个技巧中的知识方便的适用于任何形状的按钮,但我们只作一个圆形的按钮。当你制作一个圆形的按钮时,需要做两件事。第一件事是重载一个适当的绘画方法以画出一个圆形。第二件事是设置一些事件使得只有当你点击圆形按钮的范围中的时侯按钮才会作出响应(不是包含圆形按钮的矩形的范围中)。

java.awt.*;

java.awt.geom.*;

javax.swing.*;

class {

( label) {

super(label);

// 这些声明把按钮扩展为一个圆而不是一个椭圆。

size = ();

size.width = size. = Math.max(size.width, size.);

(size);

// 这个调用使不画背景,而允许我们画一个圆的背景。

(false);

// 画圆的背景和标签

void ( g) {

if (().()) {

// 你可以选一个高亮的颜色作为圆形按钮类的属性

g.(Color.);

} else {

g.(());

g.(0, 0, ().width - 1, (). - 1);

// 这个调用会画一个标签和焦点矩形。

super.(g);

// 用简单的弧画按钮的边界。

void ( g) {

g.(());

g.(0, 0, ().width - 1, (). - 1);

// 侦测点击事件

Shape shape;

(int x, int y) {

// 如果按钮改变大小,产生一个新的形状对象。

if (shape == null || !shape.().(())) {

shape = new .Float(0, 0, (), ());

shape.(x, y);

// 测试程序

void main([] args) {

// 产生一个带‘'标签的按钮。

= new ("");

.(Color.green);

// 产生一个框架以显示这个按钮。

frame = new ();

frame.().(Color.);

frame.().add();

frame.().(new ());

frame.(150, 150);

frame.(true);

结果:

点击事件:

由于我们想保留的大部分功能,我们让类继承了类。在的构造方法中,()方法被调用。这就让按钮画了一个矩形的焦点区,但不画背景。

现在我们需要画一个圆的背景。这是通过重载()方法实现的。那个方法使用.()方法画一个实心的圆。然后()方法调用super.()在这个实心圆的上面画了一个标签。

这个例子还重载了()方法以在圆形按钮的边界上画一个边。如果你不想要边框,你也可以不重载这个方法。这个方法调用了.()方法以在圆的边界上画一个细的边框。

注意:在.2.2中,当你将鼠标拖进或拖出按钮的范围时,的行为有一个小BUG。理论上,当你在圆形按钮上点击鼠标然后拖动鼠标离开按钮的边界时,按钮应该改变它的外形。当你拖动鼠标进入按钮的边界内时,按钮应回复它的外形。不幸的是,包含这个行为的代码不能调用()方法。代替它的是只使用按钮的‘限制范围'(这是包含按钮的最小矩形范围)注意,如果你在圆形边界内轻微的拖动鼠标,也就是说离开圆形的范围但不离开边界,按钮将不会改变它的外形。

总结

以上就是本文关于Java编程实现swing圆形按钮实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了