0
我已經創建了這個進度代碼,現在我希望它在打開100%後自動關閉,並在框架中打開一個帶有文本的新框架。那麼,我該如何做到這一點?我需要關於Java JFrame上的一些東西的幫助
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
class Progress extends JFrame implements ActionListener {
JProgressBar pb;
JButton b1;
Progress() {
super("Progress");
setLayout(null);
b1 = new JButton("Start");
b1.setBackground(Color.LIGHT_GRAY);
pb = new JProgressBar(1,100);
pb.setValue(0);
pb.setStringPainted(true);
pb.setForeground(Color.green);
pb.setBackground(Color.pink);
b1.setBounds(20, 20, 80, 25);
pb.setBounds(110, 20, 200, 25);
pb.setVisible(false);
add(b1);
add(pb);
b1.addActionListener(this);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
int i=0;
if(e.getSource()==b1) {
pb.setVisible(true);
try {
while(i<=100) {
Thread.sleep(50);
pb.paintImmediately(0, 0, 200, 25);
pb.setValue(i);
i++;
}
} catch(Exception e1) {
System.out.print("Caughted exception is ="+e1);
}
}
}
public static void main(String arg[]) {
logindemo m=new logindemo();
m.setSize(400,250);
m.setVisible(true);
Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
int x = (int) ((dimension.getWidth() - m.getWidth())/2);
int y = (int) ((dimension.getHeight() - m.getHeight())/2);
m.setLocation(x, y);
}
}
這是我的進度條代碼。
什麼是你的代碼,你的問題標題之間的關係? – Karthik
參見[使用多個JFrames,好/壞實踐?](http://stackoverflow.com/q/9554636/418556) –
'setLayout(null);'1)Java GUI必須在不同的OS上工作,屏幕尺寸,屏幕分辨率等,使用不同的地區不同的PLAF。因此,它們不利於像素的完美佈局。請使用佈局管理器或[它們的組合](http://stackoverflow.com/a/5630271/418556)以及[white space]的佈局填充和邊框(http://stackoverflow.com/a/17874718/ 418556)。 2)使用合乎邏輯的一致形式縮進代碼行和塊。縮進旨在使代碼的流程更易於遵循! –