[英]Java (JFace Application Window) Setting external label text
我想找出如何在外部應用程序窗口上設置標簽的文本。
我有的:
到目前為止我有兩個窗戶 。 第一個是用戶啟動程序時將出現的主應用程序窗口。 第二個窗口是我專門創建的另一個單獨的窗口,用於顯示自定義錯誤窗口。
問題:我似乎無法調用我在錯誤窗口上創建的標簽並將文本設置為自定義。 為什么? 我希望能夠多次重復使用此窗口! 此窗口的目的是在輸入無效或應用程序無法讀取/保存到文件時進行錯誤處理。
我打算發布屏幕截圖,但你需要10個代表。 它會更好地解釋一切。
以下是Error_dialog窗口上標簽的代碼:
Label Error_label = new Label(container, SWT.NONE);
Error_label.setBounds(10, 10, 348, 13);
Error_label.setText("Label I actively want to change!");
這是我想要滿足的條件:
if(AvailableSpaces == 10){
//Set the label text HERE and then open the window!
showError.open();
}
我也把它包含在課程的頂部:
Error_dialog showError = new Error_dialog();
只需將標簽保存為對話框類中的字段,然后添加“setter”方法即可。 就像是:
public class ErrorDialog extends Dialog
{
private Label errorLabel;
... other code
public void setText(String text)
{
if (errorLabel != null && !errorLabel.isDisposed()) {
errorLabel.setText(text);
}
}
你需要像這樣使用你的對話框:
ErrorDialog dialog = new ErrorDialog(shell);
dialog.create(); // Creates the controls
dialog.setText("Error message");
dialog.open();
注意:您應該遵守Java變量名稱的規則 - 它們始終以小寫字母開頭。
進一步學習使用布局 。 如果用戶使用不同的字體,使用setBounds
將導致問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.