最近想用swing做乙個設想的demo,涉及到背景捲動,雖然我自己也覺得swing的介面不怎麼樣,但做著玩一玩也沒啥。
下面的**(僅貼出相關**,其他省略)具體功能是滑鼠移向左右邊界時,有吸附效果,並且橫向x軸座標滾動,滑鼠加速度小於數值時,控制滑鼠無法移出視窗。當然,這只是簡易實現,很多地方都還要完善,而且可能也並不是最好的,希望大家可以交流更好的方式。
private static final int fps = 30;
private static final int frame_width = 800;
private static final int border_width = 4;
private static final int border_back_width = border_width + 5;
private static final int move_border_width = border_back_width + 2;
private static final int border_check_width = move_border_width + 5;
private static final int border_back_right = frame_width - border_back_width;
private static final int move_border_right = frame_width - move_border_width;
private static final int border_check_right = frame_width - border_check_width;
private static final int move_speed = 4;
private boolean moreleft = false;
private boolean moreright = false;
private int bgwidth;
private int bgposxofimage = 0;
private int mouselastx = 0;
private final robot robot;
public home() throws awtexception
}, 1000 / fps, 1000 / fps, timeunit.milliseconds);
}private void refreshui()
if (moreright && (bgposxofimage + frame_width) <= (bgwidth - move_speed))
}private void moveright()
private void moveleft()
private void drawbgimage()
/*addmousemotionlistener(new mousemotionadapter()
});*/
private void onmousemoved(mouseevent e)
if (x < mouselastx && x <= border_check_width && x > move_border_width)
if (x > mouselastx && x >= border_check_right && x < move_border_right)
if (x <= move_border_width)
}if (x >= move_border_right)
}mouselastx = x;}/*
addmouselistener(new mouseadapter()
});*/
private void onmouseexited()
滾動視窗,Edit背景框變黑
用scrollwindow時,edit控制項背景框變黑。在onctlcolor中setbkmode transparent 無效。思考了一下,是因為我在每次對話方塊重繪時,用純白畫刷刷了一遍對話方塊,但是控制項所在區域應該是沒有被刷到的。此時設定edit透明,把edit控制項所在區域漏了出來,所以變...
去掉 iframe 邊框以及滾動條以及背景透明
我們經常在html裡面通過嵌入iframe的方式引入別的頁面,但是因為某些原因,比如引入的頁面比我們設定的iframe要大,這個時候就會出現滾動條,為了去除這個滾動條,我們可以在iframe裡面加入乙個css的屬性 css view plain copy print?overflow hidden ...
html 彈出模態視窗 控制背景層不能滾動
第一種方案 這個方案比較簡單,適用彈出視窗內也沒有內容需要滾動的時候 1 即在彈出視窗的時候 給body繫結 mouchmove事件 阻止響應 body on touchmove function event false 2 關閉彈出層的時候解綁事件 body unbind touchmove 第二...