2012-04-08 1 views
0

저는 두 개의 내부 프레임이있는 프레임을 가지고 있습니다. Board 클래스의 인스턴스 인 'Board'객체를 만듭니다. 게시판 클래스는 JPanel을 확장합니다.JScrollPane가 작동하지 않습니다. 왜죠?

class Layout extends JFrame{ 
    Dimension dimen=Toolkit.getDefaultToolkit().getScreenSize(); 
    public initializeWindows(){ 
     JInternalFrame dev=new JInternalFrame("Devices",true,true,false,false); 
     JInternalFrame cir=new JInternalFrame("Circuit",true,true,false,false); 
     Board b=new Board(); 
     cir.add(b); 
     JScrollPane scroll=new JScrollPane(b); 
     this.add(dev); 
     this.add(cir); 

     dev.setVisible(true); 
     dev.setSize(150,650); 
     dev.setLocation(0,100); 
     dev.pack(); 

     inf.setVisible(true); 
     inf.setPreferredSize(new Dimension((int)(dimen.width*0.88),(int)(dimen.height*0.75))); 
     inf.setLocation(150,100); 
     inf.setBackground(Color.WHITE); 
     inf.pack(); 

    } 

그러나 스크롤 패널이 나타나지 않습니다. 왜 tat입니까 ??

+0

'ScrollPane'을 추가하십시오. 예를 들어 : http://www.java2s.com/Tutorial/Java/0240__Swing/AddcomponenttoJScrollPane.htm – Anonymous

+0

당신은 (스크롤) this.add 호출하여 JFrame의로 스크롤 객체를 추가해야합니다. – dexametason

+0

** 왜 컴파일 할 수없는 코드를 추가 했습니까? ** 더 빨리 도움을 받으려면 [SSCCE] (http://sscce.org/)를 게시하십시오. 하지만 그때 나는 방금 *** 당신에게 (전에 언급 된) 깨달았다. (http://stackoverflow.com/questions/9767652/accessing-a-line-after-it-is-painted). *** –

답변

1

당신이 내부 프레임에 JScrollPane 추가되지 않기 때문에.

당신은 실제로 Board 당신이 당신의 스크롤 막대이 원하는 경우

JInternalFrame cir=new JInternalFrame("Circuit",true,true,false,false); 
Board b=new Board(); 
JScrollPane scroll=new JScrollPane(b); 
cir.add(scroll) 
this.add(cir); 
+0

를 게시 할 예정입니다 그리고 난 CIR을 추가 .. 그것에게 SSCCE 수 있도록 최선을 시도했다. 추가 (스크롤) ..하지만 여전히 보이지 않습니다 .. –

1

설정하십시오 cir.setVisible(true)cir.add(scroll) 대신 cir.add(b);

같은 것을해야하는 동안 JInternalFrame cir에와 JScrollPane에 추가 사용할 수있는 항상 표시

scroll = JScrollPane(b, 
    ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, 
    ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS)