2014-07-10 3 views
0

레이블에서 setText() 메서드를 사용하려고 할 때 레이블의 텍스트가 변경되지 않는 문제가 발생했습니다. 나는 오랫동안 수색했지만 어떤 해결책도 찾을 수 없었다. 다음 코드 샘플입니다 : 내가 다른 클래스로 사용하는 모든 구성 요소를 표시setText() 메서드가 작동하지 않습니다 (Java)

class OptionsListener implements ItemListener{ 
    public void itemStateChanged(ItemEvent e) { 
     if (optionsI1.isSelected()){ 
      lesu1.setText("8:30"); 
     } 
    } 
} 

이 모든 것이 올바르게 표시됩니다.

나는 이런 식으로 뭔가를 수행하여 코드를 단순화 시도했다 :

class OptionsListener implements ItemListener{ 
    public void itemStateChanged(ItemEvent e) { 
     if (optionsI1.isSelected()){ 
      System.out.println("bla"); 
     } 
    } 

잘 작동하고 메시지 "즐"을 표시 할 것 같다있다. 여기에 누락 된 항목이 있습니까?

내 요소 (단지 내가 그것을 코딩 순서대로 라벨 및 메뉴의 표시)의 선언 :

// labels // 
    lesu1 = new JLabel("1"); 
    lesu1.setBounds(8, 39, 20, 22); 

    lesu2 = new JLabel("2"); 
    lesu2.setBounds(8, 69, 20, 22); 

    lesu3 = new JLabel("3"); 
    lesu3.setBounds(8, 99, 20, 22); 

    lesu4 = new JLabel("4"); 
    lesu4.setBounds(8, 129, 20, 22); 

    lesu5 = new JLabel("5"); 
    lesu5.setBounds(8, 159, 20, 22); 

    lesu6 = new JLabel("6"); 
    lesu6.setBounds(8, 189, 20, 22); 

    lesu7 = new JLabel("7"); 
    lesu7.setBounds(8, 219, 20, 22); 

    lesu8 = new JLabel("8"); 
    lesu8.setBounds(8, 249, 20, 22); 

    dag = new JLabel("07/08"); 
    dag.setBounds(5, 15, 36, 13); 

    // menubar // 
    menu = new JMenuBar(); 

    options = new JMenu("Opties"); 

    optionsI1 = new JCheckBoxMenuItem("Weergeef de lesuren in uren"); 
    optionsI1.addItemListener(new OptionsListener()); 

    menu.add(options); 

    options.add(optionsI1); 

이것은 내가 그 구성 요소를 배치 순서입니다. 나는 또한 순서대로 패널에 추가했다.

+3

게시하기 전에 불필요한 코드를 모두 제거하십시오 –

+0

어디에이 레이블이 표시 되길 기대합니까? –

+0

방금 ​​제거했습니다. 대부분의 코드를 볼 수 있다면 도움이 될 것이라고 생각했습니다. – GeeSplit

답변

0

문제점이 무엇인지 알아 냈습니다. 메소드 대신 모든 것에 대해 생성자를 혼동하고 사용했습니다. 그것으로 해결되었습니다.

내가 말했던 것처럼 : 나는 자바의 초보자이다.

+1

[null layout]을 사용하지 말 것을 권장합니다. 스윙은 [Layout Managers] (http : /docs.oracle.com/javase/tutorial/uiswing/layout/visual.html). '널 레이아웃 (null layout) '을 사용하면 나쁜 습관을 만들어서 링크를 읽을 수 있습니다. 그리고 당신이 그걸 읽는 동안 [여러 개의 'JFrames'Good, Bad Practice 사용?] (http://stackoverflow.com/questions/9554636/the-use-of-multiple-jframes-good-bad- 연습/9554657 # 9554657) 모두 당신이 자바 프로그래밍 기술을 향상시키는 데 도움이됩니다 :) – Frakcool

0

레이블 lesu1 일부 구성 요소 패널과 같은 구성 요소, 버튼 등

추가 lable가에 배치되지 않습니다.

예 :

menu.add(lesu1); 
관련 문제