桌面应用程序中JFrame的大小调整-NetBeans [英] JFrame Resizing in Desktop Application - NetBeans

查看:285
本文介绍了桌面应用程序中JFrame的大小调整-NetBeans的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在NetBeans IDE中开发Java桌面应用程序.我想以小尺寸显示JFrame中的登录屏幕.然后在获得登录名后,我想将JFrame扩展到其他面板的全屏显示.问题是它一次可以正常显示,并且从下一次用来全屏显示登录屏幕时,如何避免呢?我将不同的面板放在同一框架上.

I'm developing Java Desktop Application in NetBeans IDE. I want to show the login screen in JFrame with small size. Then after getting login i want to extend JFrame to full screen with other panels.The problem is its showing once properly and from the next time it used to show the login screen with full screen.How can i avoid it? I'm placing different panels on the same frame.

登录时

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

登录后

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

推荐答案

聊天后编辑;

根据场景;外部桌面应用程序按住,记住和 将帧大小设置为最后设置.因此内部面板必须外部 桌面应用程序中的主机以及设置大小和位置设置 在内部代码运行之后应用程序运行之后.

According to scenario; External desktop application hold, remember and set frames size's to last settings. So inner panel must get external main frame from desktop application and set size and location settings after application runs after internal code runs.

在没有整个项目的情况下,我无法对代码做更多的事情:)

There is no more things I can do about codes without having whole project :)

先前的答案; 或者,您可以使用JDialog登录 否则,下次显示登录屏幕时,请反转设置全屏时的操作.

Previous answers; For an alternative, you may use JDialog to login else next time when you show login screen, reverse what you do when setting fullscreen.

一些代码示例可以帮助我们更好地回答您的问题.

Some code samples helps us to answer your question better.

他下次使用登录屏幕前是什么;

Edit 2: he next time before login screen did you use;

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

代码示例

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

    }

}

这篇关于桌面应用程序中JFrame的大小调整-NetBeans的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆