我想知道如何設置一個JDialog,當它被設置爲setUndecorated(true);
時。調整大小可以通過外框來完成。當它未修飾時,沒有框架,然後JDialog不能調整大小。當外部框架不可用時,如何調整JDialog的大小?如何在JDialog處於未裝飾狀態時調整它的大小?
1
A
回答
2
我假設你的意思是如何可以將用戶調整未修飾的對話框(如開發者可以隨時撥打setSize
)
可以做到這一點的唯一方法是自己實現的邏輯。
這將需要實施MouseListener
和監測mousePressed
,mouseReleased
和mouseDragged
事件
你需要考慮到,你可能只需要在對話框周圍排水溝,將觸發調整大小(如5個像素)。重要的是沒有其他組件放置在此排水溝中,因爲它們會覆蓋您鼠標偵聽器。
+0
非常感謝。我發現你的意思是代碼片斷。 –
2
沒有測試,但是從我收集看來,你只需要下面的方法:
// window reszie event
private void _setUpWindowResizeEvent() {
this.addMouseMotionListener(
new MouseMotionListener() {
public void mouseDragged(MouseEvent mouseEvent) {
if(mHozResizeEnabled || mVerResizeEnabled) {
int x = mouseEvent.getX();
int y = mouseEvent.getY();
_resizeWindow(
MouseInfo.getPointerInfo().getLocation());
sticky.setSize(getSize());
_fireStickyUpdated();
}
}
+1
非常感謝。 –
相關問題
- 1. 調整JDialog框的大小
- 2. JDialog:在Jdialog處於活動狀態時訪問Jframe
- 3. 如何調整QMainWindow上的窗口裝飾大小?
- 4. 根據JDialog調整JPanel的大小
- 5. 檢測JDialog的調整大小
- 6. 如何調整Javafx未修飾階段的大小?
- 7. 如何處理可以調整大小或未調整大小的Python對象
- 8. css resize:如何在最大高度處於活動狀態後調整動態增長div的大小
- 9. 如何在調整列大小時調整dxDataGrid的大小
- 10. 如何在瀏覽器調整大小時進行動態調整大小?
- 11. 對於JDialog狀態的Actionlistener
- 12. 如何在調整大小時調整畫布大小?
- 13. 如何在調整窗口大小時調整圖像大小?
- 14. 如何調試時Kubernetes節點處於「未就緒」狀態
- 15. 如何在使用未裝飾的JFrame時添加對調整大小的支持?
- 16. 未修飾的JDialog/JFrame的比大的修飾一個
- 17. 未修飾的JDialog邊境
- 18. 將未修飾的JDialog
- 19. 獲取模態以在窗口大小調整時動態調整大小
- 20. 在應用程序調整大小時更改視圖狀態
- 21. 如何檢查JDialog狀態
- 22. 如何動態調整NSTextField的大小?
- 23. 如何在UITextView裏面輸入時調整它的大小?
- 24. 基於它的大小的HTML調整大小圖像
- 25. 如何在調整窗口大小時使FlexMDI調整它的子級?
- 26. Iphone-如何在通話狀態欄切換時調整視圖大小?
- 27. 如何讓UITextView動態調整它的內容大小
- 28. 如何在FormLayoutPanel中調整窗體的大小時調整窗體的大小?
- 29. 在調整QWidget的大小時調整QTextEdit的大小QWidget
- 30. 在調整JFrame的大小時調整Jpanel的大小
爲什麼用戶甚至嘗試調整未修飾的浮動窗口?鑑於它們通常不可調整大小,除非出現大的,紅色的閃爍文字「可以改變我的尺寸!」,否則它們可能永遠不會出現。我認爲這個圖形用戶界面比「如何?」有更大的問題。 –
@AndrewThompson,謝謝你的關注。在這裏使用undecorating是因爲我想給一些看上去很漂亮的樣子並且讓角落變成圓形,並且有很少的原因......但是用戶仍然應該能夠調整JDialog的尺寸 –
一個代碼片段,它提供了一個解決方案[here](http:/ /www.coderanch.com/t/335891/GUI/java/JDialog-undecorated-but-resizeable) –