JAVA怎么自己绘制进度条样式?

默认的样式略丑,怎么修改成这样的呢?就是如何自己加个圆点?我用的是swing... 默认的样式略丑,怎么修改成这样的呢?
就是如何自己加个圆点?
我用的是swing
展开
 我来答
碧血玉叶花
2015-05-22 · TA获得超过4976个赞
知道大有可为答主
回答量:6154
采纳率:0%
帮助的人:1720万
展开全部
package com.test;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Cursor;
import java.awt.Dimension;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JProgressBar;
import javax.swing.JWindow;
/**
 * 程序启动模拟进度条
 * 配置操作:
 * 1、更换url的test图片。图片的路径和.java文件一级
 * 2、showFrame里,new出下一个JFrame
 * 3、main方法里的new可以带到上一个JFrame
 * @author Administrator
 *
 */
public  class ProgrammStart extends JWindow implements Runnable {
  Thread splashThread;  //进度条更新线程
  JProgressBar progress; //进度条
  
  public ProgrammStart() {
       Container container=getContentPane(); //得到容器
    setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));  //设置光标
    URL url = getClass().getResource("test.jpg"); //图片的位置
    if(url != null){
      container.add(new JLabel(new ImageIcon(url)),BorderLayout.CENTER);  //增加图片
    }
    progress = new JProgressBar(1,100); //实例化进度条
    progress.setStringPainted(true); //描绘文字
    progress.setString("程序加载中,请稍候......");  //设置显示文字
    progress.setBackground(Color.white);  //设置背景色
    container.add(progress,BorderLayout.SOUTH);  //增加进度条到容器上
    Dimension screen = getToolkit().getScreenSize();  //得到屏幕尺寸
    pack(); //窗口适应组件尺寸
    setLocation((screen.width-getSize().width)/2,(screen.height-getSize().height)/2); //设置窗口位置
  }
  public void start(){
    this.toFront();  //窗口前端显示
    splashThread=new Thread(this);  //实例化线程
    splashThread.start();  //开始运行线程
  }
  public void run(){
    setVisible(true); //显示窗口
    try {
      for (int i=0;i<100;i++){
        Thread.sleep(100); //线程休眠
        progress.setValue(progress.getValue()+1); //设置进度条值
      }
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
    dispose(); //释放窗口
    showFrame(); //运行主程序
  }
  static void showFrame(){
      
    //实例化JFrame对象
  }
  public static void main(String[] args) {
    new ProgrammStart().start();
}
}
匿名用户
2015-05-21
展开全部
使用一个JLabel ,不要文字,覆盖paint,自己完全去绘制
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式