2013-06-14 3 views
0

i 루프를 사용하여 새 jpanels을 만듭니다. 하지만 어떻게 다른 개체 이름을 사용합니다.루프를 사용하여 새 jpanels을 생성합니다.

for(int i=0; i<panelnumbers.length(); i++){ 
    MainConfig.page21.addNewPanel(MainConfig.page21.pos1, "INFORMACIÓN No. " + (i + 2)); 
} 

public static void addNewPanel(int y, String title) { 
    Add a = new Add(title); 
    jLayeredPane3.add(a); 
    a.setBounds(0, y, 1333, 450); 
    jPanel1.setPreferredSize(new Dimension(1333, (pos + 480))); 
    jLayeredPane3.setPreferredSize(new java.awt.Dimension(1333, (pos + 480))); 
    jLayeredPane3.validate(); 
    jScrollPane1.getViewport().setViewPosition(new Point(0, (pos + 480))); 
} 
+0

'하지만 서로 다른 개체 name'을 사용하여 어떻게 - 실제로 당신을 무엇 하고 싶다? –

+0

각 패널 객체마다 다른 이름을 지정하고 싶습니다. –

+0

[setName()] (http://docs.oracle.com/javase/7/docs/api/java/awt/Component.html#setName%28java.lang.String%29) 메소드를 사용 하시겠습니까? –

답변

1

내가 루프를 사용하여 새로운 JPanel의를 만들 : 여기 내 코드입니다. 하지만 어떻게 다른 개체를 사용 이름.

1

from Listeners

  • 당신은 절대 좌표를 사용하고, 레이아웃 매니저는 플랫폼에서 더 나은 GUI 나중에 Windows 버전, 접근성 등등을 제공합니다.

    MainConfig.page21.setLayout(new BoxLayout(MainConfig.page21, BoxLayout.Y_AXIS)); 
    

    일반적으로 JPanel은 필요하지 않지만 이벤트 수신기는 패널을 검색하는 방법을 알고 있습니다.

    그럼에도 불구하고 당신은 JPanel의 배열 유지 수 : addPanel에서

    List<JPanel> panels = new ArrayList<>(); 
    

    로컬 변수를 생성하고 추가를 그

    public void addNewPanel(int y, String title) { // Not static 
        JPanel panel = new JPane(); 
        ... 
        panels.add(panel); 
    } 
    
  • +0

    감사합니다. 좋은 생각이야. 하지만 런타임에 추가하는 패널의 수를 모릅니다. 그것은 무제한의 jpanel입니다. –

    +0

    나는 당신의 코드를 시험 중이다. –

    +0

    코드를 변경하겠습니다. i와 for 루프로 인해 생각이 바뀌 었습니다. –

    관련 문제