我写了两个程序,我想把他们组合起来用,怎么合并他们呢?他们是在同一个文件夹下的两个文件,都可以分别运行!现在我想把它门组合起来,请高手指点
代码如下:
//第一个文件,是个进度条(progress.java)
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class progress extends JFrame
{
public static void main(String[]s)
{progress dd=new progress();}
  public progress()
{ int min=0,max=100;
JProgressBar jProBar=new JProgressBar();
jProBar.setStringPainted(true);
jProBar.setMinimum(min);
jProBar.setMaximum(max);
jProBar.setValue(min); JPanel jP=new JPanel();
jP.add(jProBar);
JFrame f=new JFrame("Progress Bar");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(jP);
f.setBounds(0,0,200,60);
f.setVisible(true);
double finish=0.0;
    try{
for(int i=min;i<=max;i++)
{
Thread.sleep(500);
jProBar.setValue(i);
finish=jProBar.getPercentComplete();
if(finish>=0.48&&finish<=0.52)
  jProBar.setString("Have finished half");
else if(finish>=0.53&&finish<=0.99)
  jProBar.setString(jProBar.getValue()*100/(max-min)+"%");
else if(finish==1.0)
  jProBar.setString("Have finished");
    }
  }
  catch(InterruptedException e)
  {
   System.out.println("Error");
   }
   }}//这是写的第二个文件,  mm.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class mm extends JFrame
{
public mm()
{
super("windows");
setBounds(20,20,300,400);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel =new JPanel();
FlowLayout ff=new FlowLayout();
panel.setLayout(ff);
JTextField text=new JTextField("Hello",10);
JButton enter=new JButton("Enter");
panel.add(enter);
panel.add(text);
setContentPane(panel);
show();
}
public static void main(String[]args)
{ mm s=new mm();
   // progress();}
}

解决方案 »

  1.   

    这个processbar不是这么来的
    楼主的组合没什么意思,纯粹是浪费时间,你的bar的处理根本就是独立的,bar显示完了再显示主界面建议把bar的显示过程放在主界面的初始化过程中,可以按布局过程来设置bar的value,这样主界面的初始化过程才可以用bar的状态反应出来,初始化完成bar也显示完,
    不过在初始化结束之前可以让主界面不显示而只显示bar的状态
      

  2.   

    import java.awt.*;
    import javax.swing.*;public class Mm extends JFrame {
    public static JProgressBar progressbar;
    public Mm() throws Exception{
    super("windows");
    setBounds(20, 20, 300, 400);
    //setVisible(true);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    progressbar.setValue(1);
    Thread.sleep(300);//延世了一下,纯粹给你显示效果的 JPanel panel = new JPanel();
    FlowLayout ff = new FlowLayout();
    panel.setLayout(ff);
    progressbar.setValue(2);
    Thread.sleep(300);//...
    JTextField text = new JTextField("Hello", 10);
    JButton enter = new JButton("Enter");
    panel.add(enter);
    progressbar.setValue(3);//...
    Thread.sleep(300);
    panel.add(text);
    progressbar.setValue(4);
    Thread.sleep(300);//...
    //setContentPane(panel);
    //show();
    } public static void main(String[] args) throws Exception{
    Window splash = new Window(new Frame());
    splash.setSize(new Dimension(200,20));
    splash.setLocation(400,400);
    progressbar = new JProgressBar(0,4);
    splash.add(progressbar,BorderLayout.CENTER);
    splash.setVisible(true);
    Mm s = new Mm();
    splash.dispose();
    s.setVisible(true);
    // progress();
    }
    }