Janela Maximizada sem cobrir barra inferior [Resolvido]
6 respostas
M
mariogpr
Boa tarde;
Tem como criar uma Janela Maximizada sem cobrir a barra inferior?
Eu consigo criar, mas ela não maximiza totalmente;
Uso o seguinte código
publicclassJanelaPrincipalextendsJFrame{/** * */privatestaticfinallongserialVersionUID=6523847410354138038L;Dimensiond;Insetsin=Toolkit.getDefaultToolkit().getScreenInsets(this.getGraphicsConfiguration());publicJanelaPrincipal(){setLayout(newBorderLayout());Toolkittk=Toolkit.getDefaultToolkit();d=tk.getScreenSize();intheight=d.height-(in.top+in.bottom);setSize(d.width,height);//TamanhosetLocation(0,0);//Onde estará localizada na telasetDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//O programa só encerra quando essa janela é fechadasetTitle("Titulo");//Titulo setResizable(false);setVisible(true);}}
Desse modo a janela fica na altura sem cobrir a barra inferior da tela, mas não fica maximizada totalmente, fica aquela “fresta” no canto;
Eu sei que tem o método para maximizar a Janela inteira;
Quando eu crio a Janela usando esse método que postei, o canto inferior da Janela fica acima da barra inferior (barra de ferramentas);
O problema é o canto superior direito, onde fica o “X” para fechar, ele fica com uma “fresta”;
Tem alguma modo de eu “maximizar” somente a parte de cima da Janela? Assim eu consigo alterar a altura dela, mas sem deixar de ter o aspecto “maximizado”?
Com esse código a Janela ficou igual ao que eu tinha feito;
Ele ainda tem uma “fresta” no canto superior direito da Janela, se eu for com o mouse bem no canto superior direito e clicar, ele vai pra tela de trás ao invés de fechar a Janela;
Obrigado pela ajuda;
R
roger_rf
Até onde eu sei, infelizmente não há como maximizar uma janela apenas no sentido horizontal ou vertical (na plataforma Windows, pelo menos). Se a janela não for maximizada, a “fresta” sempre estará lá, não há saída.
Finalizando, a abordagem que mostrei não invade o espaço da barra de tarefas. O código que você mostrou em sua mensagem inicial ocupa a tela inteira, e supõe que a barra de tarefas pode estar apenas na base ou no topo do monitor, pois compensa apenas a altura. É preciso levar em conta também que a barra de tarefas pode estar nas laterais.
M
mariogpr
roger_rf:
Até onde eu sei, infelizmente não há como maximizar uma janela apenas no sentido horizontal ou vertical (na plataforma Windows, pelo menos). Se a janela não for maximizada, a “fresta” sempre estará lá, não há saída.
Finalizando, a abordagem que mostrei não invade o espaço da barra de tarefas. O código que você mostrou em sua mensagem inicial ocupa a tela inteira, e supõe que a barra de tarefas pode estar apenas na base ou no topo do monitor, pois compensa apenas a altura. É preciso levar em conta também que a barra de tarefas pode estar nas laterais.