一个封面+进度条的例子,错的地方标出来了,为什么有错啊?
import javax.swing.*;
import java.awt.*;
import java.net.*;public class Cover extends JWindow implements Runnable{
Thread splashThread=null;
public Cover(){
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
JPanel splash = new JPanel(new BorderLayout());
URL url = getClass().getResource("/cover/cover.jpg");
if(url!=null){
splash.add(new JLabel(new ImageIcon(url)),BorderLayout.CENTER);
}
JProgressBar progress = new JProgressBar(1,100);
progress.setStringPainted(true);
progress.setBorderPainted(false);
progress.setString("载入初始化..");
progress.setBackground(Color.white);
splash.add(progress,BorderLayout.SOUTH);
setContentPane(splash);
Dimension screen=getToolkit().getScreenSize();
pack();
setLocation((screen.width-getSize().width)/2,
(screen.height-getSize().height)/2);
//set start window in center
} public void start(){
this.toFront();
splashThread=new Thread(this);
splashThread.start();
} public void run(){
try{
for(int i=0;i<100;i++){
Thread.sleep(100);
//**************************************************************
progress.setValue(progress.getValue()+1);
//************************************************************** }
}
catch(Exception ex){
ex.printStackTrace();
}
dispose();
} static void showFrame(String title){
JFrame frame = new JFrame(title);
frame.setSize(400,300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//set window in center
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize=frame.getSize();
if(frameSize.height>screenSize.height){
frameSize.height=screenSize.height;
}
if(frameSize.width>screenSize.width){
frameSize.width=screenSize.width;
}
frame.setLocation((screenSize.width-frameSize.width)/2,
(screenSize.height-frameSize.height)/2);
try{
Thread.sleep(10000);
}
catch(Exception ex){
ex.printStackTrace();
}
frame.setVisible(true);
} public static void main(String[] args){
Cover splash = new Cover();
splash.start();// display start-window dispose in 5s
showFrame("Demo splash window");// display main window
}
}
import javax.swing.*;
import java.awt.*;
import java.net.*;public class Cover extends JWindow implements Runnable{
Thread splashThread=null;
public Cover(){
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
JPanel splash = new JPanel(new BorderLayout());
URL url = getClass().getResource("/cover/cover.jpg");
if(url!=null){
splash.add(new JLabel(new ImageIcon(url)),BorderLayout.CENTER);
}
JProgressBar progress = new JProgressBar(1,100);
progress.setStringPainted(true);
progress.setBorderPainted(false);
progress.setString("载入初始化..");
progress.setBackground(Color.white);
splash.add(progress,BorderLayout.SOUTH);
setContentPane(splash);
Dimension screen=getToolkit().getScreenSize();
pack();
setLocation((screen.width-getSize().width)/2,
(screen.height-getSize().height)/2);
//set start window in center
} public void start(){
this.toFront();
splashThread=new Thread(this);
splashThread.start();
} public void run(){
try{
for(int i=0;i<100;i++){
Thread.sleep(100);
//**************************************************************
progress.setValue(progress.getValue()+1);
//************************************************************** }
}
catch(Exception ex){
ex.printStackTrace();
}
dispose();
} static void showFrame(String title){
JFrame frame = new JFrame(title);
frame.setSize(400,300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//set window in center
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize=frame.getSize();
if(frameSize.height>screenSize.height){
frameSize.height=screenSize.height;
}
if(frameSize.width>screenSize.width){
frameSize.width=screenSize.width;
}
frame.setLocation((screenSize.width-frameSize.width)/2,
(screenSize.height-frameSize.height)/2);
try{
Thread.sleep(10000);
}
catch(Exception ex){
ex.printStackTrace();
}
frame.setVisible(true);
} public static void main(String[] args){
Cover splash = new Cover();
splash.start();// display start-window dispose in 5s
showFrame("Demo splash window");// display main window
}
}
还有show();现在有一个新问题,就是在JB里面运行时要在第一行加package wordsalon;才能运行,但是却看不到图片了,不知道为什么,有没人帮忙解答一下。