swing視窗邊界背景滾動以及對滑鼠的吸附

2021-09-02 02:49:41 字數 1894 閱讀 6892

最近想用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 第二...