Redimensionar componentes da janela automaticamente
6 respostas
J
JamesBond
Pessoal blz ?
Eu fiz um aplicativo em java, no monitor de 17’’ … ate ai blz … ai fui executar no de 15’’, mas infelizmente os componentes na janela ficaram pela metade … nao mostra todos eles … entao, vi que dá pra user esse codigo:
Cara, se você quer a janela da sua aplicação do tamanho da tela onde está sendo exibida, você pode usar o método setExtendedState(int type) da classe JFrame. Como argumento desse método, você deve usar a constante MAXIMIZED_BOTH, também da classe JFrame.
[]'s.
J
JamesBond
kaique:
Cara, se você quer a janela da sua aplicação do tamanho da tela onde está sendo exibida, você pode usar o método setExtendedState(int type) da classe JFrame. Como argumento desse método, você deve usar a constante MAXIMIZED_BOTH, também da classe JFrame.
[]'s.
eai cara blz ?
nao é isso não, pois esse método já está no meu código … o problema nao é a janela, e sim a exibição dos componentes dentro dela. tipo, os botoes que ficavam em baixo, nao está exibindo com resolucao 1280x720 … mas com 1280x1024 funciona …
alguem poderia me dar uma mao ae ?
K
kaique
Você está usando layouts na sua aplicação??
[]'s.
J
JamesBond
kaique:
Você está usando layouts na sua aplicação??
[]'s.
sim … usando gridbaglayout
K
kaique
Dá pra colocar aqui um exemplo do seu problema, ou então a classe mesmo do seu programa??
[]'s.
J
JamesBond
kaique:
Dá pra colocar aqui um exemplo do seu problema, ou então a classe mesmo do seu programa??
[]'s.
claro … so nao vou colocar inteiro pois eh mto enorme … eh o seguinte: a classe Janela executa a janela principal … o frame principal … e a classe DesignJanela eh aquela onde estao os componentes …
publicclassJanelaextendsJFrame{DesignJaneladj=newDesignJanela(img);java.awt.Toolkittoolkit=java.awt.Toolkit.getDefaultToolkit();DimensionscrSize=toolkit.getScreenSize();publicJanela(){setTitle("Aplicação Exemplo");...ContainercontentPane=this.getContentPane();contentPane.setLayout(newBorderLayout());contentPane.add(dj);StatusBarstatusBar=newStatusBar();//fiz isso para fazer uma barrinha igual a do firefox, iecontentPane.add(statusBar,BorderLayout.SOUTH);this.setLocationRelativeTo(null);this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);this.setExtendedState(JFrame.MAXIMIZED_BOTH);this.setSize(600,600);}publicvoidvisivel(){this.setVisible(true);}}
publicclassDesignJanelaextendsJPanel{privateImageIconicon=newImageIcon();privateJLabellabImg=newJLabel();privateImageIconimagem;privateJLabell;privateStringcop;privateJPanelp1,painelPrincipal;Informacoesc1=newInformacoes();Observacoesc2=newObservacoes();PanelImagemp=newPanelImagem();publicDesignJanela(){painelPrincipal=newJPanel();GridBagConstraintsgrid=newGridBagConstraints();GridBagLayoutgridlyt=newGridBagLayout();painelPrincipal.setLayout(gridlyt);grid.fill=GridBagConstraints.BOTH;JPanelpainelCentral=newJPanel(newBorderLayout());// painel central -> container de todos os outros paineis JPanelpainelInferior=newJPanel(newFlowLayout());// painel central -> container dos dois paineis inferiores // Painel ImagemTitledBordertituloImagem;// titulo do paineltituloImagem=BorderFactory.createTitledBorder("Imagem");// cria borda com tituloJTabbedPanetabs=newJTabbedPane();icon=newImageIcon(cop);l=newJLabel(icon);l.setBounds(4,2,800,800);labImg.add(l);labImg.setPreferredSize(newDimension(820,820));JPanelpainelImagem=newJPanel();painelImagem.setPreferredSize(newDimension(100,100));painelImagem.setBorder(tituloImagem);painelImagem.add(labImg);painelCentral.add(painelImagem,BorderLayout.CENTER);//Painel Inferior - Que ira conter os outros doispainelCentral.add(painelInferior,BorderLayout.SOUTH);TitledBordertituloBot;tituloBot=BorderFactory.createTitledBorder("Processamento de Imagens");JPanelpainelBotao=newJPanel();painelBotao.setPreferredSize(newDimension(250,200));painelBotao.setBorder(tituloBot);p1=newJPanel();GridBagConstraintscons=newGridBagConstraints();GridBagLayoutlayout=newGridBagLayout();p1.setLayout(layout);JButtoncinza=newJButton("Escala de Cinza");JButtonred=newJButton("Vermelho");JButtongreen=newJButton("Verde");JButtonblue=newJButton("Azul");cons.fill=GridBagConstraints.BOTH;cons.gridy=0;cons.gridx=0;p1.add(cinza,cons);cons.gridy=0;cons.gridx=1;p1.add(red,cons);cons.gridy=1;cons.gridx=0;p1.add(green,cons);cons.gridy=1;cons.gridx=1;p1.add(blue,cons);painelBotao.add(p1);painelInferior.add(painelBotao);// Painel InformacoesTitledBordertituloInf;tituloInf=BorderFactory.createTitledBorder("Informações");JPanelpainelInformacoes=newJPanel();painelInformacoes.setPreferredSize(newDimension(300,200));painelInformacoes.setBorder(tituloInf);painelInformacoes.add(c1.getLayout());painelInferior.add(painelInformacoes);JPanelpainelObservacoes=newJPanel();painelObservacoes.add(c2.getLayout());tabs.addTab("Aba 1",painelCentral);tabs.addTab("Relatório",painelObservacoes);grid.gridy=2;grid.gridx=2;painelPrincipal.add(tabs,grid);painelPrincipal.setSize(100,100);this.add(painelPrincipal);}}