Redimensionar componentes da janela automaticamente

6 respostas
J

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:

java.awt.Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit(); Dimension scrSize = toolkit.getScreenSize();

esse codigo pega a resolução atual do usuario … mas queria saber como usa-lo … help ae

vlw

6 Respostas

K

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

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

Você está usando layouts na sua aplicação??

[]'s.

J

kaique:
Você está usando layouts na sua aplicação??

[]'s.

sim … usando gridbaglayout

K

Dá pra colocar aqui um exemplo do seu problema, ou então a classe mesmo do seu programa??

[]'s.

J

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 …

public class Janela extends JFrame {

	DesignJanela dj = new DesignJanela(img);
	
	java.awt.Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit();
	Dimension scrSize = toolkit.getScreenSize();
	
	public Janela() {
		
		setTitle("Aplicação Exemplo");
		...
                Container contentPane = this.getContentPane();
                contentPane.setLayout(new BorderLayout());
        
                contentPane.add(dj);
        
                StatusBar statusBar = new StatusBar(); //fiz isso para fazer uma barrinha igual a do firefox, ie
                contentPane.add(statusBar, BorderLayout.SOUTH);
        
     	        this.setLocationRelativeTo(null);
     	        this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
     	        this.setExtendedState(JFrame.MAXIMIZED_BOTH);
     	        this.setSize(600, 600);
	}
	
	public void visivel() {
		this.setVisible(true);
	}
 }
public class DesignJanela extends JPanel {

	private ImageIcon icon = new ImageIcon();
	private JLabel labImg = new JLabel();
	private ImageIcon imagem;
	private JLabel l;
	private String cop;
	private JPanel p1, painelPrincipal;
	
	Informacoes c1 = new Informacoes();
	Observacoes c2 = new Observacoes();
	PanelImagem p = new PanelImagem();
	
	public DesignJanela() {
		
		painelPrincipal = new JPanel();
		GridBagConstraints grid = new GridBagConstraints();
                GridBagLayout gridlyt = new GridBagLayout();
                painelPrincipal.setLayout(gridlyt);
                grid.fill = GridBagConstraints.BOTH;
		
		JPanel painelCentral = new JPanel(new BorderLayout());    // painel central -> container de todos os outros paineis   
	        JPanel painelInferior = new JPanel(new FlowLayout());     // painel central -> container dos dois paineis inferiores   

	        // Painel Imagem
	        TitledBorder tituloImagem;   // titulo do painel
	        tituloImagem = BorderFactory.createTitledBorder("Imagem"); // cria borda com titulo
	    
	        JTabbedPane tabs = new JTabbedPane();

	       icon = new ImageIcon(cop);
	       l = new JLabel(icon);
	       l.setBounds(4, 2, 800, 800);
	       labImg.add(l);
	       labImg.setPreferredSize(new Dimension(820, 820));
	    
	       JPanel painelImagem = new JPanel();
               painelImagem.setPreferredSize(new Dimension(100, 100));
	       painelImagem.setBorder(tituloImagem);
	       painelImagem.add(labImg);
	    
	       painelCentral.add(painelImagem,BorderLayout.CENTER);
	    
	       //Painel Inferior - Que ira conter os outros dois
	       painelCentral.add(painelInferior,BorderLayout.SOUTH);
	    
	       TitledBorder tituloBot;
	       tituloBot = BorderFactory.createTitledBorder("Processamento de Imagens");
	    
	       JPanel painelBotao = new JPanel();
	       painelBotao.setPreferredSize(new Dimension(250, 200));
	       painelBotao.setBorder(tituloBot);
	       p1 = new JPanel();
		GridBagConstraints cons = new GridBagConstraints();
               GridBagLayout layout = new GridBagLayout();
               p1.setLayout(layout);
        
		JButton cinza = new JButton("Escala de Cinza");
		JButton red = new JButton("Vermelho");
		JButton green = new JButton("Verde");
		JButton blue = new JButton("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 Informacoes
	        TitledBorder tituloInf;
	        tituloInf = BorderFactory.createTitledBorder("Informações");

	        JPanel painelInformacoes = new JPanel();
	        painelInformacoes.setPreferredSize(new Dimension(300, 200));
	        painelInformacoes.setBorder(tituloInf);
	        painelInformacoes.add(c1.getLayout());
	    
	        painelInferior.add(painelInformacoes);

	        JPanel painelObservacoes = new JPanel();
	        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);
	}
}
Criado 12 de abril de 2008
Ultima resposta 13 de abr. de 2008
Respostas 6
Participantes 2