2013-02-19 4 views
0

Java의 클래스 프로젝트로 창의적이 되려고합니다.팝업 프레임 생성 및 여러 프레임 관리

나는 사용자로부터 일부 입력을받는 JFrame을 가지고 있으며, 입력에서 그래프를 보여주는 일종의 팝업 프레임을 만들고 싶습니다.

두 번째 프레임은 그래프 만 표시합니다. 나는 이것을 깨닫는 데 어려움을 겪고있다.

기본으로 JFrame에 GUI 작성기 (Netbeans)를 사용하고 있는데 처음에는 빈 JPanel을 만들고 단추에서 볼 수 있도록 설정했지만 그 기능이 작동하지 않으면 곧 couldn을 발견했습니다. '티.

나는 JFrame 또는 다른 컨테이너를 분명히 사용해야했다 (내가 틀렸어?).

이제 그래프 정보에 대한 정보를 두 번째 창으로 어떻게 전달할 것입니까?

어쨌든, 저는 이것을 달성하기 위해 일부 입력이나 좋은 습관을 찾고 있습니다. 지금은 CardLayout을 읽고 있습니다. 그래프 구성 요소를 저장할 창을 만들어야하므로 원하는 해결책이 아닙니다. 난 그래프 버튼 (또는 프레임)을 열고 사용자가 원할 때 닫을 그래프 버튼을 원한다. 메인 프레임은 그래프 입력을 위해서만 사용됩니다. 입력 해 주셔서 감사합니다.

실제로 그래프 자바에서 뭔가하지만 병이 한 번에 하나의 문제를 해결이

+3

[여러 JFrames의 사용, 좋고 나쁜 연습?] (http://stackoverflow.com/a/9554657/418556) 'JDialog' 또는'JOptionPane'을 본 것 같습니다. –

+0

@AndrewThompson, Dialogs 사용에 대한 대화를 보았습니다. 그러나 internalJFrames에 익숙하지 않습니다. 둘 중 어떤 것을 사용할지 결정하는 데 영향을주는 차이점이 있습니까? 당신이 제공 한 링크에서 여러 개의 JFrames가 눈살을 찌푸 리므로 두통을 피할 것입니다.하지만 그래프 입력란에 대해 입력 된 데이터를 일관성 있고 쉽게 유지할 수있는 한, 다음과 같은 장점이 있습니다. InternalFrames를 통한 대화 상자 사용? 고맙습니다. – gandolf

+0

복수의 그래프가 존재하는 경우, 그래프 용의'JInternalFrame' 자식을 가지는'JDesktopPane'가 좋을지도 모릅니다. 또는, 각 탭에 1 개의 그래프가있는'JTabbedPane'를 지정할 수도 있습니다. 단일 그래프의 경우 대화 상자가 정상적으로 작동합니다. 많은 가능성이 있습니다. –

답변

0

당신은 아마 좋은 생각이 될 것 팝업 JFrame의 또 다른 클래스를 만들 수 있습니다 방법에 곧 질문이있을 것입니다 . 당신은 같은 것을 할 수있는 :

PopupFrame f = new PopupFrame(/* Graph variable(s) passed in here. */); 
f.show(); 

는 희망이 당신에게 약간의 사용이었다 :

public class PopupFrame extends JFrame{ 

    //Declare variable you wish to use for your graph here. 

    public PopupFrame(/* Pass in variable(s) that you will need to display the information. */) 
    { 
     super("Graph"); 

     //Set the graph variable equal to the variable to passed into the constructor. 

     add(/* Put in the variable that you just initialized above and that you declared outside of the constructor. */); 

     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setSize(500,500);// Change to the dimension that you want. 
     setLocation(50,50);// You could also have the constructor give it these values if you want to center it on your parent window. 
     setVisible(true); 
    } 
} 

및 메인 클래스를, 같은 있습니다. 행운을 빕니다!

+0

안녕하세요 @ lonnez, 이것은 실제로 데이터에서 생성자를 전달하지만 실제로 여러 JFrames를 관리하는 것처럼 보이는 문제의 다른 스레드를 읽는 것은 처음부터 잘못된 생각이었습니다. 그러나 당신의 스 니펫에 감사드립니다. – gandolf

+2

팝업 JFrame은 좋은 생각이 아닙니다. 일반적으로 응용 프로그램에는 단일 JFrame 만 있습니다. 팝업의 경우 JDialog를 사용합니다. – camickr

관련 문제