📄 endbean.java~13~
字号:
package com.wiziflow.gui;import javax.swing.*;import java.awt.event.*;import java.awt.*;/** * 结束图标。定义“结束”中的所有属性 */public class EndBean extends JLabel { final ImageIcon icon = new ImageIcon(com.wiziflow.gui.StartBean.class.getResource("images/end.gif")); private int mouseX=0;//鼠标移动的上一个位置 private int mouseY=0;//鼠标移动的下一个位置 public EndBean() { //super(icon); //this.setBounds(0,0,100,100); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } private void jbInit() throws Exception { this.setIcon(icon); this.setFont(new Font("宋体",0,14)); this.setText("结束"); this.setSize(icon.getIconWidth(),icon.getIconHeight()+35); this.setVerticalTextPosition(JLabel.BOTTOM); this.setHorizontalTextPosition(JLabel.CENTER); this.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(KeyEvent e) { this_keyReleased(e); } }); this.addFocusListener(new java.awt.event.FocusAdapter() { public void focusGained(FocusEvent e) { this_focusGained(e); } public void focusLost(FocusEvent e) { this_focusLost(e); } }); this.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(MouseEvent e) { this_mousePressed(e); } }); this.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() { public void mouseDragged(MouseEvent e) { this_mouseDragged(e); } }); } void this_mouseDragged(MouseEvent e) { //this.setBorder(BorderFactory.createLineBorder(Color.blue)); Point p = this.getLocation(); int x=(int)p.getX(); int y=(int)p.getY(); this.setLocation(x+(e.getX()-mouseX),y+(e.getY()-mouseY)); } void this_mousePressed(MouseEvent e) { mouseX=e.getX(); mouseY=e.getY(); this.requestFocus(); } void this_focusGained(FocusEvent e) { ((JLayeredPane)getParent()).moveToFront(this); this.setBorder(BorderFactory.createLineBorder(Color.blue)); } void this_focusLost(FocusEvent e) { this.setBorder(null); } void this_keyReleased(KeyEvent e) { if(e.getKeyCode()==127) {//Delete键 JLabel message=new JLabel("删除该控件和它的所有关系,确定吗?"); message.setFont(new java.awt.Font("宋体", 0, 12)); int i=JOptionPane.showConfirmDialog(null,message,"删除",JOptionPane.OK_CANCEL_OPTION); if(i==0) {//确定 FlowPane flowPane = (FlowPane)getParent(); flowPane.remove(this); flowPane.setB_end(false);//画布上已经没有结束图标 flowPane.repaint(); } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -