📄 mainframe.java
字号:
package book;
//********************************************************************
//主窗体
//********************************************************************
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JToolBar;
public class MainFrame extends JFrame{
private MuBar bar;
private JPanel ptool;
private MainPanel p;
private Container con;
private ToolBar tool;
private boolean bstart,bclose;
private ResultSet rs;
private ShowFrame show;
Pan_zt zt;
static String user;
MainFrame(String s,String str) throws SQLException{
super(s);
user=str;
setBoolean();
shilihua();
tianjia();
shezhi();
start();
}
void shilihua(){
con = getContentPane();
show=new ShowFrame();
zt=new Pan_zt();
bar = new MuBar(this);
ptool=new JPanel();
ptool.setLayout(new BorderLayout());
p=new MainPanel(this);
tool=new ToolBar(bar);
}
//获取系统设置属性
void setBoolean() throws SQLException{
MainDAO dao=new MainDAO();
rs=dao.getSelect("select * from xitongshezhi");
rs.next();
bstart=rs.getBoolean("启动显示");
bclose=rs.getBoolean("关闭备份");
rs.close();
dao.close();
}
//启动运行
void start() throws SQLException{
if(bstart){
show.showChaoTimeBook();
}
}
//设置组件
void shezhi(){
zt.setUser("当前操作员是: "+user);
this.setVisible(true);
Dimension dim=Toolkit.getDefaultToolkit().getScreenSize(); //获取当前屏幕的分辨率
this.setSize(700,500);
Dimension dim1 = this.getSize();// 获取当前窗体大小
this.setLocation((dim.width - dim1.width) / 2,(dim.height - dim1.height) / 2);// 设置当前窗体居中
this.setVisible(true); //设置窗体可见
this.setResizable(false);//设置不可更改窗体大小
this.validate(); //设置组件可见
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
try {
close();
} catch (SQLException e1) {
// TODO 自动生成 catch 块
e1.printStackTrace();
}
}
});//关闭事件
}
//关闭时是否自动备份数据库
void setClose(){
if(bclose){
copyFile("./data/book.mdb", "./data/CloseBackup/book.mdb");
}
}
void close() throws SQLException{
setBoolean();
setClose();
System.exit(0);
}
//数据备份
public void copyFile(String oldPath, String newPath) {
try {
int bytesum = 0;
int byteread = 0;
File oldfile = new File(oldPath);
if (oldfile.exists()) { //文件存在时
InputStream inStream = new FileInputStream(oldPath); //读入原文件
FileOutputStream fs = new FileOutputStream(newPath);
byte[] buffer = new byte[1444];
while ( (byteread = inStream.read(buffer)) != -1) {
bytesum += byteread; //字节数 文件大小
fs.write(buffer, 0, byteread);
}
inStream.close();
JOptionPane.showMessageDialog(this,"缓存数据备份成功!!!!!!!");
}
else{
JOptionPane.showMessageDialog(this,"备份失败,备份文件不存在!!!!!!!");
}
}
catch (Exception e) {
JOptionPane.showMessageDialog(this,"数据备份失败!!请检查源文件是否存在!");
e.printStackTrace();
}
}
//添加组件方法
//获取当前操作员
static String getUser(){
return user;
}
void tianjia(){
ptool.add(tool,BorderLayout.NORTH);
ptool.add(p,BorderLayout.CENTER);
con.add(bar, BorderLayout.NORTH);
con.add(ptool,BorderLayout.CENTER);
con.add(zt,BorderLayout.SOUTH);
con.validate();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -