1. 程式人生 > >swt 關閉對話方塊 關閉dialog

swt 關閉對話方塊 關閉dialog

在使用swt 的dialog的時候(不是jface的dialog),用了eclipse的嚮導生成的,然後對話方塊有一個父視窗

建構函式如下

public MyDialog(Shell parent, int style) {
        super(parent, style);
}

生成的程式碼中 MyDialog有一個屬性shell,當我想關閉這個對話方塊的使用,我使用了 shell.dispose()
然後發現,它的父視窗也一同關閉了……

後來研究了下程式碼,發現建構函式中的parent最終是賦給了屬性shell。所以呼叫shell.dispose()的使用,相當於呼叫了this.getParent.dispose()
所以父視窗就一同關閉了。

為了解決這個問題。修改了一下建構函式,給對話方塊建立了一個屬於它自己的shell。然後賦值給屬性shell

public MyDialog(Shell parent, int style) {
        super(parent, style);
        this.shell = new Shell(parent);
}

這樣子呼叫shell.dispose() 的時候,就不會把父視窗一同關閉了,只會關閉當前的這個對話方塊。

相關推薦

swt 關閉對話方塊 關閉dialog

在使用swt 的dialog的時候(不是jface的dialog),用了eclipse的嚮導生成的,然後對話方塊有一個父視窗 建構函式如下 public MyDialog(Shell parent, int style) { super(parent,

Android Dialog點選按鈕不關閉對話方塊

在Android實際開發中,我們可能常常需要彈出一個Dialog,讓使用者輸入一些資料,而對使用者的輸入資料還需要進行一些比如不能為空的驗證。但是在正常情況下,使用者點選Dialog中的按鈕後窗口會隨即關閉,使用者可能看不到你的錯誤提示,這樣會顯得很不友好。那有

在element ui中有關對話方塊el-dialog關閉事件(詳細教程)

開發十年,就只剩下這套架構體系了! >>>   

CEF方面的研究(四) CEF嵌入MFC對話方塊關閉崩潰問題解決辦法

RT、相信有不少朋友在開發過程中都遇到了,關閉崩潰或者關閉後開啟電腦工作管理員,還有程序存在的問題。 這個問題把我也是快折騰瘋了,畢竟存在這類崩潰或者資源解除安裝不掉的問題是不能用入專案中的,蛋疼的困擾了我半個多月的時間,當我把後面的東西全部做完時,又不得不拐過頭來解決他,

Android系統原理與原始碼分析(1):利用Java反射技術阻止通過按鈕關閉對話方塊

本文為原創,如需轉載,請註明作者和出處,謝謝!     眾所周知,AlertDialog類用於顯示對話方塊。關於AlertDialog的基本用法在這裡就不詳細介紹了,網上有很多,讀者可以自己搜尋。那

六,關閉視窗X的控制,MFC 禁止對話方塊關閉按鈕和Alt+F4

使得選單項無效,以便它不能被選擇,但不變灰使得選單項有效,以便它能夠被選擇,並可從變灰的狀態中恢復出來 獲取視窗選單:       CMenu *pSysMenu = GetSystemMenu(FALSE);      ASSERT(pSysMenu != NULL);使關

pyqt彈出新對話方塊,以及關閉對話方塊獲取資料

from PyQt4 import QtGui,QtCore import sys class Web_Browser(QtGui.QDialog): def __init__(self,parent=None): QtGui.QWidget.__i

mfc 關閉對話方塊的各種訊息與方法

//http://my.csdn.net/crystal521 以下是對話方塊關閉時傳送的不同訊息:    1)點選OK按鈕:OnOk-WM_DESTROY   2) 點選Cancel按鈕:OnCancel-WM_DESTROY   3) 點選×按鈕:WM_CLOSE-

關閉對話方塊,OnClose和OnCancel

      我們知道,在對話方塊中,遮蔽ESC鍵自動退出可以選擇過載OnCancel為啞函式的方法:      void CXXXXDlg::OnCancel()      {         // TODO: Add your specialized code here

qt 對話方塊關閉以及自動釋放記憶體

關於視窗關閉的操作,在這裡指出常用的三個槽,即quit(),exit()以及close()。 首先說明視窗退出時,系統提示對話方塊的程式碼編輯。對主程式的退出,可以呼叫成員函式exit(),同時也可以呼叫槽quit(),二者此時都能起到關閉應用程式的作用。 只是應注意二者呼

彈出對話方塊,點選確定關閉對話方塊,返回值給父頁面

父頁面: <input id="btnSelect" type="button" value="..."  onclick="organTree('txt_GLJG','hid_gljg');" class ="btn" /> <script typ

四種對話方塊dialog)的簡單使用方法

有普通對話方塊,單選對話方塊,複選對話方塊,進度條的兩種實現方法話不多說,直接上程式碼 activity_main.xml:   1 <?xml version="1.0" encoding="utf-8"?> 2 <android.support.constra

andrdroid基礎---對話方塊Dialog、AlertDialog

1.確定取消對話方塊 AlertDialog.Builder builder = new AlertDialog.Builder(MainDialog.this); builder.setIcon(R.drawable.icon); builder.setTitle("

GUI之練習——列出指定目錄下的內容和對話方塊Dialog

package myclass; import java.awt.; import java.awt.event.; import java.io.*; class MyWindowDemo { private Frame f; private TextFiel

FlycoDialog 簡單實用的自定義Android彈窗對話方塊Dialog

效果圖鎮樓 FlycoDialog是一款非常棒的彈窗對話方塊處理框架,今天在這裡主要講一下他的自定義彈出對話方塊的功能,這裡以第二幅效果圖為例,圖片已經放在部落格最下方,X號自己隨便找一個東西代替吧。 首先我們還是先新增依賴

Android常用對話方塊大全——Dialog

唉!最近一直忙碌著寫專案以至於都沒有空出點時間來總結近期的學習, 記錄學習到的東西…現在正好有時間了就該好好記錄一下學習的過程了。 今天就來談談開發中經常用的到的一個控制元件——Dialog,對話方塊一般我們就用來提示一些資訊給使用者, 讓使用

androdi簡單的密碼輸入對話方塊Dialog

加入: compile 'com.flyco.dialog:FlycoDialog_Lib:[email protected]' Dialog程式碼: package com.influx.kalyke.component; /** * Created

jquery 對話方塊Dialog)外掛

<!doctype html> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <

Winform與WPF對話方塊(MessageBox, Dialog)之比較

Winform:使用System.Windows.Forms名稱空間中相應控制元件; WPF則呼叫Microsoft.Win32。MessageBox:// WinForm        private void WFMessageBoxClicked(object send

android 8種對話方塊Dialog)使用方法彙總

目錄 1.寫在前面2.程式碼示例 2.1 普通Dialog(圖1與圖2) 2.2 列表Dialog(圖3) 2.3 單選Dialog(圖4) 2.4 多選Dialog(圖5) 2.5 等待Dialog(圖6) 2.6 進度條Dialog(圖7) 2.7 編輯Dialog(圖8) 2.8 自定義Dialo