java编一个漏斗_java中一个action过程中鼠标显示漏斗

展开全部

lz  你好

这个应该很简单吧

java自带的进度条组件是:  JProgressBar类

就用JProgressBar的setVisible(boolean)

//true就显示、false就隐e69da5e887aa3231313335323631343130323136353331333332623965藏

变换鼠标:

用JFrame的setCursor(Cursor)方法

以下是我写的一个例子:import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import javax.swing.event.*;

import javax.swing.plaf.nimbus.NimbusLookAndFeel;//这个UI需要jdk是1.7及之后版本

//进度条测试类

public class ProgressBar extends JFrame implements Runnable, ActionListener{

private JProgressBar jpb;

private JButton start;

private int value=0;

public ProgressBar() {

super("ProgressBar");

setLayout(new FlowLayout(FlowLayout.RIGHT, 0, 50));

jpb = new JProgressBar();

jpb.setPreferredSize(new Dimension(280, 30));

jpb.setBorderPainted(true);

jpb.setStringPainted(true);

jpb.addChangeListener(new ChangeListener(){

public void stateChanged(ChangeEvent e){

start.setSelected(true);

jpb.setString("已完成:" + value + "%");

}

});

start = new JButton("开始");

start.setPreferredSize(new Dimension(60, 40));

start.addActionListener(this);

getContentPane().add(jpb);

getContentPane().add(start);

setSize(300, 250);

setLocationRelativeTo(null);

setDefaultCloseOperation(3);

setVisible(true);

}

public void actionPerformed(ActionEvent e){

start.setEnabled(false);//action开始的时候 开始按钮设为不可点击的状态

setCursor(Cursor.WAIT_CURSOR);//action开始的时候 设置鼠标为等待的状态

jpb.setVisible(true);//action开始的时候 进度条显示

new Thread(this).start();

}

public void run(){

for(value=1; value <= 100 ; value++){

try {

Thread.sleep((int)(Math.random() * 100 + 50));

jpb.setValue(value);

}

catch (Exception ex) {

ex.printStackTrace();

}

}

jpb.setVisible(false);//action结束的时候 进度条隐藏

setCursor(Cursor.DEFAULT_CURSOR);//action结束的时候 设置鼠标为正常的状态

start.setEnabled(true);//action结束的时候 开始按钮设为可点击的状态

}

public static void main(String[] args) {

//设定UI  这个UI好看点儿

try {

UIManager.setLookAndFeel(new NimbusLookAndFeel());

}

catch (Exception ex) {

ex.printStackTrace();

}

new ProgressBar();

}

}

希望能帮助你哈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值