2014-03-12 3 views
0

Работа над моей первой программой java swt, и у меня возникают проблемы, возможно, проблема глупости! Я пытаюсь создать базовую программу сети для прослушивания соединений, у меня есть кнопка, и я хочу, чтобы запустить сокет затем изменить метку для отображения «прослушиваний серверов» или что-тоизменение текста ярлыка в java swt

Вот кнопка

Button startServerBtn = new Button(shlChattybox, SWT.NONE); 
     startServerBtn.addSelectionListener(new SelectionAdapter() { 

      ServerSocket serversocket = new ServerSocket(PORT); 

Могу ли я изменить текст метки здесь?

  serverStatusLbl2.setText("listening!"); 

      public void widgetSelected(SelectionEvent e) { 
      } 
     }); 
    startServerBtn.setFont(SWTResourceManager.getFont("Segoe UI", 16, SWT.BOLD)); 
    startServerBtn.setBounds(53, 63, 260, 75); 
    startServerBtn.setText("Start Server"); 

    listeningPortTxt = new Text(shlChattybox, SWT.BORDER); 
    listeningPortTxt.setBounds(143, 26, 76, 21); 

    Label listeningPortLbl = new Label(shlChattybox, SWT.NONE); 
    listeningPortLbl.setBounds(53, 29, 84, 15); 
    listeningPortLbl.setText("Listening Port: "); 

    Label serverStatusLbl1 = new Label(shlChattybox, SWT.NONE); 
    serverStatusLbl1.setBounds(53, 157, 84, 15); 
    serverStatusLbl1.setText("Server Status:"); 
+0

кода является неполным. Это компиляция? Где было создано serverStatusLbl2? –

ответ

0

Есть два способа сделать это:

  1. сделать Label поле класса
  2. Сделать Labelfinal

Вот пример:

private Label fieldLabel = new Label(shell, SWT.NONE); 

public void testMethod() 
{ 
    Button button = new Button(shell, SWT.PUSH); 
    button.setText("Print"); 

    final Label finalLabel = new Label(shell, SWT.NONE); 

    button.addListener(SWT.Selection, new Listener(){ 
     @Override 
     public void handleEvent(Event e) 
     { 
      fieldLabel.setText("TEXT"); 
      finalLabel.setTexT("TEXT"); 
     } 
    }) 
} 

Это не имеет особого значения для SWT, поэтому вы можете что-то прочитать о программировании closure.

Here является родственным вопросом о SO, где пресловутый Джон Скит опубликовал ответ ...

Смежные вопросы