Java swt MessageBox 修改按钮文本

在SWT中,MessageBox 是一个用于显示信息、警告或错误对话框的类。如果你想修改按钮文本,可以通过创建一个新的 MessageBox 并在构造函数中指定按钮类型和文本来实现。

以下是一个简单的示例,展示如何修改 MessageBox 按钮文本:

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.MessageBox;
 
public class MainClass {
    public static void main(String[] args) {
        Display display = new Display();
        Shell shell = new Shell(display);
 
        MessageBox messageBox = new MessageBox(shell, SWT.ICON_QUESTION | SWT.YES | SWT.NO);
        messageBox.setText("Custom Button Text Example");
        messageBox.setMessage("Do you want to continue?");
        
        // 修改按钮文本
        messageBox.setButtonText(SWT.YES, "Custom Yes");
        messageBox.setButtonText(SWT.NO, "Custom No");
 
        int response = messageBox.open();
        
        if (response == SWT.YES) {
            System.out.println("User selected Yes.");
        } else if (response == SWT.NO) {
            System.out.println("User selected No.");
        }
 
        shell.dispose();
        display.dispose();
    }
}
在这个例子中,我们创建了一个带有问号图标的消息框,并且有两个按钮:"Custom Yes" 和 "Custom No"。当用户点击这些按钮时,程序会输出相应的信息。注意,按钮文本是在 messageBox.open() 调用之前设置的。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在 MFC 中,可以使用 AfxMessageBox 函数来创建一个消息框。如果您想要自定义按钮文本,可以使用 CMessageBox 类来创建一个自定义消息框。下面是一个示例: ```cpp int ShowMyMessageBox(LPCTSTR lpszText, LPCTSTR lpszCaption, UINT nType) { CMessageBox dlg(lpszText, lpszCaption, nType); dlg.m_szOk = _T("确定"); dlg.m_szCancel = _T("取消"); dlg.m_szYes = _T("是"); dlg.m_szNo = _T("否"); return dlg.DoModal(); } ``` 在上面的代码中,我们创建了一个 ShowMyMessageBox 函数,它接受与 AfxMessageBox 相同的参数。但是,我们使用了 CMessageBox 类来创建一个自定义消息框,并将按钮文本设置为自定义值。您可以根据需要修改这些值。最后,我们调用 DoModal 函数来显示消息框。 注意:CMessageBox 是一个自定义类,您需要在您的项目中添加相应的源文件和头文件。以下是 CMessageBox 的代码: ```cpp class CMessageBox : public CDialog { public: CString m_szOk; CString m_szCancel; CString m_szYes; CString m_szNo; CMessageBox(LPCTSTR lpszText, LPCTSTR lpszCaption, UINT nType) : CDialog(IDD_MESSAGEBOX) , m_lpszText(lpszText) , m_lpszCaption(lpszCaption) , m_nType(nType) { } protected: CString m_lpszText; CString m_lpszCaption; UINT m_nType; virtual BOOL OnInitDialog() { CDialog::OnInitDialog(); SetWindowText(m_lpszCaption); SetDlgItemText(IDC_MESSAGE, m_lpszText); if (m_nType & MB_OKCANCEL) { SetDlgItemText(IDOK, m_szOk); SetDlgItemText(IDCANCEL, m_szCancel); } else if (m_nType & MB_YESNO) { SetDlgItemText(IDYES, m_szYes); SetDlgItemText(IDNO, m_szNo); } return TRUE; } DECLARE_MESSAGE_MAP() }; BEGIN_MESSAGE_MAP(CMessageBox, CDialog) END_MESSAGE_MAP() ``` 在上面的代码中,我们创建了一个 CMessageBox 类来创建自定义消息框。我们重写了 OnInitDialog 函数来设置消息框的标题、文本按钮文本。您可以根据需要修改按钮文本。最后,我们使用 DECLARE_MESSAGE_MAP 宏来声明消息映射表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朱大侠888

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值