Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Lomio
    Registrato dal
    Jul 2010
    Messaggi
    160

    [Java]Swing - GridBagLayout dove sbaglio!?

    Salve a tutti, mi trovo un po' in confusione con l'utilizzo del GridBagLayout, quello che vorrei ottenere con il codice che vi posterò a seguire sarebbe avere il logo e la ricerca sulla stessa linea in alto e a partire dalla sinistra della mia finestra.
    Il risultato che ottengo invece è di trovarmeli sì allineati sulla stessa linea, ma al centro del mio frame!!

    codice:
    package com.lorenzo.programmi.mailGrafica;
    
    import java.awt.Color;
    import java.awt.Container;
    import java.awt.Dimension;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.Insets;
    import java.awt.Toolkit;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    
    public class Index extends JFrame {
    
    	private Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
    	private Container c;
    	private GridBagConstraints cs;
    	private static final long serialVersionUID = 1L;
    
    	public Index() {
    		this.frameProperties();
    		this.insertLogo();
    		this.insertSearch();
    
    	}
    
    	public void insertLogo() {
    		JLabel lblImmagine = new JLabel(new ImageIcon("images/gmail.png"));
    		cs.insets = new Insets(0, 0, 20, 20);
    		cs.anchor = GridBagConstraints.FIRST_LINE_START;
    		cs.gridx = 0;
    		cs.gridy = 0;
    		c.add(lblImmagine, cs);
    	}
    
    	public void insertSearch() {
    		JPanel search = new JPanel(new GridBagLayout());
    		GridBagConstraints cst = new GridBagConstraints();
    
    		cst.gridx = 0;
    		cst.gridy = 0;
    		cst.ipady = 10;
    		cs.anchor = GridBagConstraints.CENTER;
    		search.setBackground(Color.white);
    		JTextField inpSearch = new JTextField();
    		inpSearch.setColumns(25);
    		inpSearch.setSize(200, 20);
    		search.add(inpSearch, cst);
    
    		JButton button = new JButton("Cerca nella posta");
    		button.setSize(100, 20);
    		cst.ipady = 3;
    		cst.gridx = 1;
    		cst.gridy = 0;
    		search.add(button, cst);
    		cs.insets = new Insets(0, 20, 20, 20);
    		cs.gridx = 1;
    		cs.gridy = 0;
    		c.add(search, cs);
    	}
    
    	public void frameProperties() {
    		c = getContentPane();
    		c.setBackground(Color.white);
    		c.setLayout(new GridBagLayout());
    		cs = new GridBagConstraints();
    		this.insertLogo();
    		this.insertSearch();
    
    		setTitle("GMail");
    		setResizable(false);
    		setDefaultCloseOperation(EXIT_ON_CLOSE);
    		setSize(dim.width, dim.height);
    		setVisible(true);
    	}
    
    }
    Spero che qualcuno sappia consigliarmi una soluzione, grazie in anticipo!
    Ciao...
    La legge e l'ordine saranno rispettati solo quando si concederà la giustizia a tutti indistintamente.

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    sparo a caso: GridbagContrsaints.CENTER ?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.