mysql同一数据库放多少个网站表,群晖 wordpress外网,创意包装设计网站,一个商城网站多少钱java中解决组件覆盖的问题#xff01; 有时候在移动组件的时候会出现两个组件覆盖的情况#xff0c;但是你想让被覆盖的组件显示出来或者不被覆盖#xff01;在设计GUI时已经可以定义组件的叠放次序了#xff08;按摆放组件的先后顺序#xff09;。 真正麻烦的是响应哪… java中解决组件覆盖的问题 有时候在移动组件的时候会出现两个组件覆盖的情况但是你想让被覆盖的组件显示出来或者不被覆盖在设计GUI时已经可以定义组件的叠放次序了按摆放组件的先后顺序。 真正麻烦的是响应哪个组件这就要创建一个链表把组件对象按顺序存起来响应事件时扫描这个链表按 链表中的先后顺序选择响应组件对象。 所以要想满足自己的需求那么在添加组件的时候就要注意顺序就好了 另外如果不想用上面的方法那么你就采用JLayeredPane这个类分层面板可以帮助你解决覆盖中的问题 例如moveToFront(Componet), moveToBack(Component), setPosition(), setLayer()。。。。 import java.awt.Button;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Point;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;import javax.swing.JLayeredPane;//实现鼠标移动组件的小程序
public class ParentAndChild {static Point oldPt;static JLayeredPane pane new JLayeredPane();static Button btn new Button(), btn1 new Button(嘻嘻嘻);public static void main(String[] args) {Frame fm new Frame(哈哈哈);fm.setVisible(true);pane.setLayout(new FlowLayout());fm.add(pane, Center);btn.setLabel(啦啦啦);btn.addMouseListener(new MouseAdapter() {public void mousePressed(MouseEvent e) {oldPte.getLocationOnScreen();}public void mouseReleased(MouseEvent e) {pane.setPosition(btn, -1);} });btn.addMouseMotionListener(new MouseMotionAdapter() {public void mouseDragged(MouseEvent e) {Point pt e.getLocationOnScreen();btn.setLocation(new Point(btn.getX() pt.x-oldPt.x,btn.getY() pt.y-oldPt.y));oldPtpt;}});btn.setPreferredSize(new Dimension(200, 100));pane.add(btn);pane.add(btn1);fm.setSize(new Dimension(600, 800));fm.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0);}});}}转载于:https://www.cnblogs.com/hujunzheng/p/3970583.html