1 swing

1 功能点实战

1.1 jtextArea---添加滚动条

1.2 进度条


2 功能点详情

1.1 jtextArea---添加滚动条

JPane jp;
  JTextArea jt= new  JTextArea();
  JScrollPane js= new  JScrollPane(jt);
//分别设置水平和垂直滚动条自动出现
js.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
js.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
 
//分别设置水平和垂直滚动条总是出现
js.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
js.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
 
//分别设置水平和垂直滚动条总是隐藏
js.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
js.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_NEVER);
 

   添加滚动条

jp.add(js);

注意:jp.add(js); 最终添加的是JScrollPane对象,而不能添加JTextArea 

1.2 进度条

ps:注意

             jfMain.setState(JFrame.NORMAL); //jframe窗口本身最小化  调用此方法显示最前方
             jfMain.toFront();  //jframe窗口被别的程序挡住  调用此方法显示最前方
            jfMain.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); //jframe 窗口的x(关闭按钮) 控制其donothing docole


package com.sdmc.update.util;


import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JProgressBar;
import javax.swing.WindowConstants;


public class Progress extends Thread{//自定义类progress
    private final int []progressValue = {1,2,3,4,5,18,27,39,51,66,81,95,99};
    private JFrame jfMain;
    private JProgressBar progressBar;
    private JButton buttonDo;
    private JButton buttonCancel;
    
    public Progress(JFrame jfMain,JProgressBar progressBar,JButton buttonDo){
    this.jfMain = jfMain;
        this.progressBar = progressBar;
        this.buttonDo =buttonDo;
    }
    
    public Progress(JFrame jfMain,JProgressBar progressBar,JButton buttonDo,JButton buttonCancel){
    this.jfMain = jfMain;
    this.progressBar = progressBar;
        this.buttonDo =buttonDo;
        this.buttonCancel =buttonCancel;
    }
    
    
    public void run()
    {
        for(int i=0;i<progressValue.length;i++)
        {
            try{
            if(progressValue[i]==51){
            System.out.println("开始真正的更新进度:"+progressValue[i]);
            Thread.sleep(5000);
            }else{
            Thread.sleep(1000);
            }
                
            }catch(Exception e){
                e.printStackTrace();
            }
            progressBar.setValue(progressValue[i]);  //进度值
        }
        progressBar.setIndeterminate(false);  //采用确定的进度条
        //progressBar.setIndeterminate(true);   //不确定进度的进度条
        
        progressBar.setString("升级完成.");  //提示信息
        System.out.println("升级完成");
        jfMain.setState(JFrame.NORMAL);
        jfMain.toFront();
        jfMain.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        
        buttonDo.setEnabled(true);  //按钮可用
        buttonCancel.setEnabled(true);  //按钮可用
    }
}



猜你喜欢

转载自blog.csdn.net/hellolovelife/article/details/80667213