实现效果图:

主函数用于启动程序:
package hlc.shudu.app;
import hlc.shudu.src.ShuduHelper;
import hlc.shudu.ui.ShuduMainFrame;
public class AppStart {
public static void main(String[] args) {
ShuduMainFrame mainFrame = new ShuduMainFrame();
mainFrame.setVisible(true);
}
}
主窗体类(包含消息区,时间区,游戏区):
package hlc.shudu.ui;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Time;
import java.text.SimpleDateFormat;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.Timer;
import javax.swing.border.TitledBorder;
public class ShuduMainFrame extends JFrame {
public static int pass = 1;
public static JLabel lbPass;
public static long usedTime = 0;
private ShuduCanvers panelCanvers;
public static Timer userTimeAction;
public ShuduMainFrame() {
init();
addComponent();
addCanvers();
}
private void addCanvers() {
panelCanvers = new ShuduCanvers();
panelCanvers.setBorder(new TitledBorder("游戏区"));
this.add(panelCanvers, BorderLayout.CENTER);
}
private void addComponent() {
JPanel panelComponent = new JPanel();
addPanelMsg(panelComponent);
addPanelTime(panelComponent);
this.add(panelComponent, BorderLayout.NORTH);
}
private void addPanelTime(JPanel panelComponent) {
JPanel panelTime = new JPanel();
panelTime.setBorder(new TitledBorder("时间"));
panelTime.setLayout(new GridLayout(2, 1));
final JLabel lbSysTime = new JLabel();
final JLabel lbUserTime = new JLabel();
panelTime.add(lbSysTime, BorderLayout.NORTH);
panelTime.add(lbUserTime, BorderLayout.SOUTH);
Timer sysTimeAction = new Timer(500, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
long timeMillis = System.currentTimeMillis();
SimpleDateFormat df = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
lbSysTime.setText(" 系统时间: " + df.format(timeMillis));
}
});
sysTimeAction.start();
userTimeAction = new Timer(1000, new ActionListener() {
@Override
public void actionPerformed(Actio