2011-11-25 2 views
1

NetBeans IDE에서 Java Desktop Application을 개발하고 있습니다. 작은 크기의 JFrame에 로그인 화면을 표시하고 싶습니다. 다음 로그인을 얻은 후 나는 다른 panels.The 문제와 함께 전체 화면에 JFrame 확장 한 번 제대로 표시하고 다음 screen screen.How와 함께 로그인 화면을 표시하는 데 사용되는 다음 번부터 그것을 피할 수 있습니까? 같은 프레임에 다른 패널을 배치하고 있습니다.데스크톱 응용 프로그램에서 JFrame 크기 조정 - NetBeans

동안 로그인

this.getFrame().setExtendedState(Frame.NORMAL); 
this.getFrame().setSize(360, 233); 
this.getFrame().setResizable(false); 

채팅 후 로그인

this.getFrame().setExtendedState(Frame.MAXIMIZED_BOTH);

+0

은 크기를 조정 기능? 이것을 바로 잡으려면'JFrame'을'200x200'라고 말한 다음'JFrame'을 사용하여 다른 것을 표시하고 전체 화면으로 크기를 조정하십시오. 이제 똑같은'JFrame'에서 로그인을 보여 주면'200x200'로 다시 크기를 조정하고 싶습니다. 맞습니까?'resize()'가 작동하지 않는다면 크기를 변경하기 전에'setExtendedState (Frame.NORMAL)'을 호출해야합니다. – PeterT

+0

메신저 메인 JFrame을 사용하여 크기가 다른 새 jPan을 배치하는 로그인 정보를 보여 주어야합니다. 로그인 폼 크기의 JFrame. – Mukthi

답변

2

편집 후, 시나리오에 따르면

; 외부 데스크톱 응용 프로그램을 보류하고 기억하고 프레임 크기를 마지막 설정으로 설정합니다. 따라서 내부 패널은 데스크톱 응용 프로그램에서 외부 메인 프레임을 가져 와야하며 내부 코드가 실행 된 후 응용 프로그램을 실행 한 후 크기 및 위치 설정을 으로 설정해야합니다.

전체 프로젝트 :

이전 답변을하지 않고 내가 코드에 대해 할 수있는 더 이상 일이 없다; JDialog를 사용하여 다음 번에 에 로그인 할 수 있습니다. 로그인 화면을 표시하면 다음 번에 전체 화면을 설정할 때와는 반대가됩니다.

일부 코드 샘플은 우리가 귀하의 질문에 잘 대답하는 데 도움이됩니다.

편집 2 : 그는 로그인 화면 전에 다음에 사용했다;

this.getFrame().setExtendedState(Frame.NORMAL); 

편집 3 : 코드 샘플

import java.awt.event.MouseEvent; 
import java.awt.event.MouseListener; 

import javax.swing.JFrame; 


public class MyFrame extends JFrame implements MouseListener { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 

     MyFrame frame = new MyFrame(); 
     frame.setVisible(true); 
     frame.setSize(200, 200); 
     frame.setExtendedState(JFrame.MAXIMIZED_BOTH); 
     frame.addMouseListener(frame); 
    } 

    @Override 
    public void mouseClicked(MouseEvent e) { 
     if(this.getExtendedState() == JFrame.MAXIMIZED_BOTH){ 
      this.setExtendedState(JFrame.NORMAL); 
     } 
     else{ 
      this.setExtendedState(JFrame.MAXIMIZED_BOTH); 
     } 
    } 

    @Override 
    public void mousePressed(MouseEvent e) { 

    } 

    @Override 
    public void mouseReleased(MouseEvent e) { 

    } 

    @Override 
    public void mouseEntered(MouseEvent e) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void mouseExited(MouseEvent e) { 
     // TODO Auto-generated method stub 

    } 

} 
+0

내가하고있는 코드를 추가했습니다 – Mukthi

+0

내가 대답을 편집 했었습니다 –

+0

나는 이것을 시도했습니다.하지만 로그인 후에는 jframe을 전체 화면으로 만듭니다. – Mukthi

2

나는 작은 크기로 JFrame에 로그인 화면을 표시합니다. 그런 다음 로그인 한 후 JFrame을 다른 패널로 전체 화면으로 확장하려고합니다.

프레임을 전체 크기로 표시하고 JDialog 또는 JOptionPane의 소유자로 로그인 세부 정보를 표시합니다. 로그인이 실패하고 사용자가 다시 시도하는 대신 취소하기로 선택한 경우 앱을 종료하십시오.

로그인을 위해 JDialog을 새로 디자인하면 어떻게 처음 표시 할 수 있습니까? initComponent 함수() 후 생성자에서

JFrame f = this.getFrame(); 
JDialog loginDialog = new JDialog(f,"Login",true); 
loginDialog.add(loginPanel); 
loginDialog.pack(); 
f.setExtendedState(Frame.MAXIMIZED_BOTH) 
f.setVisible(true); 
loginDialog.setLocationRelativeTo(f); 
loginDialog.setVisible(true); 
+0

내가 말했듯이, Jdialog이 경우에 더 유용합니다. –

+0

Im은 NetBeans Java Desktop Application에서 개발 중입니다. 로그인을 위해 새로운 JDialog를 디자인하면 처음에 어떻게 표시 할 수 있습니까? – Mukthi

+1

편집을 참조하십시오 ... –

1

넣고는, 간단한 조각의 코드는 로그인 화면을 표시 할 때

initComponents();/*Function automated*/ 
setMinimumSize(new Dimension(700,400).getSize()); 
setExtendedState(MAXIMIZED_BOTH);/*To see your application starts maximized!*/ 
관련 문제