package com.octopuscards.bpm.workflow.data.migration.util;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import com.octopuscards.bpm.workflow.data.migration.service.GetHumanTask;
import com.octopuscards.bpm.workflow.data.migration.service.SetDataInNewEngine;
public class Frame extends JFrame {
private static final long serialVersionUID = 1L;
public JFrame mainFrame;
public void show() {
JButton start_1 = new JButton("Retrieve Data"); //创建按钮
JButton start_2 = new JButton("Insert Data"); //创建按钮
start_1.addActionListener(new ActionListener() { //给按钮绑定监听时间(触发事件)
@Override
public void actionPerformed(ActionEvent e) {
int result = JOptionPane.showConfirmDialog(null, "Retrieve Data (from oracle to temp tables) ?", "", 0); //""是弹框的标题
if (result == 1) { // yes :0 , no :1 ,cancel :2
return;
}
new GetHumanTask().retrieveTaskAndInsert();
}
});
start_2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int result = JOptionPane.showConfirmDialog(null, "Insert Data (from temp table to formal tables) ?", "Yes", 0);
if (result == 1) { // yes :0 , no :1 ,cancel :2
return;
}
if (result == 0) {
//用户点击确定则执行
}
}
});
mainFrame = new JFrame("Data Migration"); //容器
mainFrame.setSize(300, 150);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize(); //获取屏幕大小
int screenWidth = screenSize.width / 2;
int screenHeight = screenSize.height / 2;
int height = mainFrame.getHeight();
int width = mainFrame.getWidth();
mainFrame.setLocation(screenWidth - width / 2, screenHeight - height / 2); //设置窗口位置
JPanel panel = new JPanel();
panel.setLayout(null); //取消布局 ,如果设置了布局下面按钮的x ,y ,w,h设置就无效
start_1.setBounds(new Rectangle(85,20, 120, 30));
start_2.setBounds(new Rectangle(85,60, 120, 30));
panel.add(start_1);
panel.add(start_2);
mainFrame.setContentPane(panel); //把panel设置进容器,只能在最后设置,如果开始就设置了按钮的位置大小设置也无效
mainFrame.setVisible(true);
}
public void windowClosed(WindowEvent arg0) {
System.exit(0);
}
public void windowClosing(WindowEvent arg0) {
System.exit(0);
}
}
效果图如下: