📄 flowpane.java~165~
字号:
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++; //开始图标只能有一个。重置鼠标状态 break; case Mouse.START:{//开始鼠标 if(getIndexOf(start)==-1) {//表明该控件仍然没有 start.setLocation(e.getX()-start.getWidth()/2,e.getY()-start.getHeight()/2); add(start); start.requestFocus(); }else{ JLabel message=new JLabel("警告:不能重复加入开始图标!"); message.setFont(new java.awt.Font("宋体", 0, 12)); JOptionPane.showMessageDialog(this,message); } Mouse.setState(Mouse.NORMAL); break; } case Mouse.END:{//结束鼠标 if(getIndexOf(end)==-1) {//表明该控件仍然没有 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); break; } } }// public void paint(Graphics g) {// //画线// super.paint(g);// }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -