import java.awt.*;
import java.net.*;
import javax.swing.*;/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*//**
*
* @author Administrator
*/
public class JSplashWindow extends JWindow implements Runnable{
Thread spashThread=null;
private JProgressBar progress;
public JSplashWindow(){
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
JPanel splash=new JPanel(new BorderLayout());
URL url=getClass().getResource("/images/logol.jpg");
if(url!=null){
splash.add(new JLabel(new ImageIcon(url)), BorderLayout.SOUTH);
pack();
}
progress=new JProgressBar(1,100);
progress.setStringPainted(true);
progress.setBorderPainted(false);
progress.setString("Application is starting up...");
progress.setBackground(Color.green);
splash.add(progress,BorderLayout.NORTH);
setContentPane(splash);
Dimension screen=getToolkit().getScreenSize();
pack();
setLocation((screen.width-getSize().width)/2,(screen.height-getSize().height/2));
}
public void start(){
this.toFront();
Thread splashThread = new Thread(this);
splashThread.start();
}
public void run() {
show();
try{
for(int i=0;i<100;i++){
Thread.sleep(50);
progress.setValue(progress.getValue()+1);
}
}
catch(Exception ex){
ex.printStackTrace();
}
this.dispose();
}
static void showFrame(String title){
JFrame frame=new JFrame(title);
frame.setSize(500,500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
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(5000);
}
catch(Exception ex){
ex.printStackTrace();
}
frame.setVisible(true);
}
public static void main(String[] args){
JSplashWindow splash=new JSplashWindow();
splash.start();
showFrame("Demo splash window"); }}为啥程序启动时显示扉页,图片logol.jpg总是显示一半在屏幕下方,另一半看不到,能不能把jpg放到jpnel下显示,请问怎么修改,谢谢
import java.net.*;
import javax.swing.*;/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*//**
*
* @author Administrator
*/
public class JSplashWindow extends JWindow implements Runnable{
Thread spashThread=null;
private JProgressBar progress;
public JSplashWindow(){
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
JPanel splash=new JPanel(new BorderLayout());
URL url=getClass().getResource("/images/logol.jpg");
if(url!=null){
splash.add(new JLabel(new ImageIcon(url)), BorderLayout.SOUTH);
pack();
}
progress=new JProgressBar(1,100);
progress.setStringPainted(true);
progress.setBorderPainted(false);
progress.setString("Application is starting up...");
progress.setBackground(Color.green);
splash.add(progress,BorderLayout.NORTH);
setContentPane(splash);
Dimension screen=getToolkit().getScreenSize();
pack();
setLocation((screen.width-getSize().width)/2,(screen.height-getSize().height/2));
}
public void start(){
this.toFront();
Thread splashThread = new Thread(this);
splashThread.start();
}
public void run() {
show();
try{
for(int i=0;i<100;i++){
Thread.sleep(50);
progress.setValue(progress.getValue()+1);
}
}
catch(Exception ex){
ex.printStackTrace();
}
this.dispose();
}
static void showFrame(String title){
JFrame frame=new JFrame(title);
frame.setSize(500,500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
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(5000);
}
catch(Exception ex){
ex.printStackTrace();
}
frame.setVisible(true);
}
public static void main(String[] args){
JSplashWindow splash=new JSplashWindow();
splash.start();
showFrame("Demo splash window"); }}为啥程序启动时显示扉页,图片logol.jpg总是显示一半在屏幕下方,另一半看不到,能不能把jpg放到jpnel下显示,请问怎么修改,谢谢
解决方案 »
- java.lang.OutOfMemoryError: Java heap space错误~如何解决~~?
- 怎样可以让页面静止,即不可点击?高手的近。。。
- JTable 多表头,点击后如何获得表头的信息?表头内容 表头位置?
- 青蛙跳的问题.
- java中如何把hashmap中key值对应的所有的value值都取出来放进list中?
- 哪位大侠有Thinking In Java 2的解答?
- 为什么不能获取最新的ID??
- 如何设置文本区域的字体字号???(用Font可以吗)
- **** 怎么实现多继承?散分中…… ****
- 怎么除去JFrame窗口的标题栏??
- JFrame 如何做到随鼠标拖动窗口大小时窗口内控件同步变化大小?注意是实时同步
- 我的jtable无法更新,应该是简单的问题,麻烦替我看下
import java.net.*;
import javax.swing.*;
public class JSplashWindow extends JWindow implements Runnable {
Thread spashThread = null;
private JProgressBar progress; public JSplashWindow() {
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
JPanel splash = new JPanel(new BorderLayout());
URL url = this.getClass().getResource("./images/1.jpg");
if (url != null) {
splash.add(new JLabel(new ImageIcon(url)), BorderLayout.SOUTH);
pack();
}
else
{
System.exit(1);
}
progress = new JProgressBar(1, 100);
progress.setStringPainted(true);
progress.setBorderPainted(false);
progress.setString("Application is starting up...");
progress.setBackground(Color.green);
splash.add(progress, BorderLayout.NORTH);
setContentPane(splash);
pack();
setLocation(this.getToolkit().getScreenSize().width / 2
- this.getWidth() / 2, this.getToolkit().getScreenSize().height
/ 2 - this.getHeight() / 2);
} public void start() {
this.toFront();
Thread splashThread = new Thread(this);
splashThread.start();
} public void run() {
show();
try {
for (int i = 0; i < 100; i++) {
Thread.sleep(50);
progress.setValue(progress.getValue() + 1);
} } catch (Exception ex) {
ex.printStackTrace();
}
this.dispose();
}
/*
static void showFrame(String title) {
JFrame frame = new JFrame(title);
frame.setSize(500, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
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(5000);
} catch (Exception ex) {
ex.printStackTrace();
}
frame.setVisible(true);
}
*/ public static void main(String[] args) {
JSplashWindow splash = new JSplashWindow();
splash.start();
//showFrame("Demo splash window"); }}