📄 flowpane.java~159~
字号:
package com.wiziflow.gui;import javax.swing.*;import java.awt.event.*;import java.awt.*;/** * 工作流定义区 */public class FlowPane extends JLayeredPane { private StartBean start=new StartBean(); private EndBean end=new EndBean();; private ActivityBean activity = null; int i=1; public FlowPane() { super(); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } private void jbInit() throws Exception { this.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(MouseEvent e) { this_mousePressed(e); } }); } void this_mousePressed(MouseEvent e) { switch(Mouse.STATE) { case Mouse.NORMAL://普通鼠标 //如果点中线,弹出对话框 break; case Mouse.ACTIVITY://活动鼠标 activity=new ActivityBean(); activity.setText("活动"+i); //初始位置在鼠标的周围。鼠标位于中间 activity.setLocation(e.getX()-activity.getWidth()/2,e.getY()-activity.getHeight()/2); add(activity); activity.requestFocus(); Mouse.setState(Mouse.NORMAL); i++; //开始图标只能有一个。重置鼠标状态 return; case Mouse.START:{//开始鼠标// if(b_start) {//“开始”只能有一个// //弹出消息框,提示用户开始图标已经有了// JLabel message=new JLabel("警告:不能重复加入开始图标!");// message.setFont(new java.awt.Font("宋体", 0, 12));// JOptionPane.showMessageDialog(this,message);// Mouse.setState(Mouse.NORMAL);// return;// } start.setLocation(e.getX()-start.getWidth()/2,e.getY()-start.getHeight()/2); add(start); start.requestFocus(); //开始图标只能有一个。重置鼠标状态// b_start=true; Mouse.setState(Mouse.NORMAL); return; } case Mouse.END:{//结束鼠标 if(getIndexOf(end)==-1) {//表明该控件仍然没有 //System.out.println("i="+i); end.setLocation(e.getX()-end.getWidth()/2,e.getY()-end.getHeight()/2); add(end); end.requestFocus(); }else{ JLabel message=new JLabel("警告:不能重复加入结束图标!"); message.setFont(new java.awt.Font("宋体", 0, 12)); JOptionPane.showMessageDialog(this,message); } Mouse.setState(Mouse.NORMAL); return; } } }// public void paint(Graphics g) {// //画线// super.paint(g);// }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -