Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Problemi test GUI

  1. #1

    Problemi test GUI

    Salve a tutti, sto imparando a gestire una GUI usando i componenti swing di java. Per impratichirmi un po' ho provato a scrivere questa piccola GUI:
    codice:
    import javax.swing.*;
    
    class GUI
    {
    	public static void main(String[] args)
    	{
    		//creazione componenti
    		JFrame frame = new JFrame("Test GUI");
    		JTextField txt_field = new JTextField();
    		JSlider slider = new JSlider(JSlider.HORIZONTAL, 0, 100, 50);
    		JLabel label = new JLabel("Sto effettuando un test di creazione di una GUI");
    		JButton button = new JButton("Ok", null);
    		JTextArea txt_area = new JTextArea("Area di testo..", 10, 20);
    		BoxLayout layout = new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS);
    		frame.add(label); frame.add(slider); frame.add(txt_area); frame.add(txt_field);
    		frame.add(button);
    		frame.setVisible(true);
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		frame.setLayout(layout); frame.pack(); frame.setResizable(false);
    	}
    }
    ma presenta molto problemi che vorrei capire a cosa sono dovuti
    In primis la posizione del JLabel e del JButton dipendono dal testo inserito nella JTextArea, cosa molto strana In secondo luogo scrivendo nella JTextArea il testo non va mai a capo ma esce dalla finestra Qualcuno che mi sa dare spiegazioni?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Problemi test GUI

    Originariamente inviato da TrashcanDLM
    In primis la posizione del JLabel e del JButton dipendono dal testo inserito nella JTextArea, cosa molto strana In secondo luogo scrivendo nella JTextArea il testo non va mai a capo ma esce dalla finestra Qualcuno che mi sa dare spiegazioni?
    Sì, il problema principale è l'uso del BoxLayout. Non è che BoxLayout sia un layout manager "malvagio" o da scartare, anzi ... ma per usarlo bene bisogna sapere come funziona e quali sono i suoi criteri per il layout.

    Innanzitutto il tuo è un BoxLayout verticale (Y_AXIS). BoxLayout impila quindi i componenti uno sotto l'altro in sequenza. Il punto è che BoxLayout prende in considerazione sia il "preferred" size, sia il "minimum" size, sia il "maximum" size dei componenti e pure il loro alignmentX (se Y_AXIS) o il alignmentY (se X_AXIS).

    Invece di continuare a spiegarti un po' tutto (che impiegherei solo tempo), ti suggerisco di leggere il tutorial ufficiale How to Use BoxLayout

    E tieni ben presente che quando si sviluppa una interfaccia AWT/Swing è molto frequente/tipico sfruttare più layout manager, incapsulando componenti dentro contenitori, dentro altri contenitori, ecc....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3

    Re: Re: Problemi test GUI

    Originariamente inviato da andbin
    Sì, il problema principale è l'uso del BoxLayout. Non è che BoxLayout sia un layout manager "malvagio" o da scartare, anzi ... ma per usarlo bene bisogna sapere come funziona e quali sono i suoi criteri per il layout.

    Innanzitutto il tuo è un BoxLayout verticale (Y_AXIS). BoxLayout impila quindi i componenti uno sotto l'altro in sequenza. Il punto è che BoxLayout prende in considerazione sia il "preferred" size, sia il "minimum" size, sia il "maximum" size dei componenti e pure il loro alignmentX (se Y_AXIS) o il alignmentY (se X_AXIS).

    Invece di continuare a spiegarti un po' tutto (che impiegherei solo tempo), ti suggerisco di leggere il tutorial ufficiale How to Use BoxLayout

    E tieni ben presente che quando si sviluppa una interfaccia AWT/Swing è molto frequente/tipico sfruttare più layout manager, incapsulando componenti dentro contenitori, dentro altri contenitori, ecc....
    Capisco, grazie mille! Le tue risposte sono sempre le migliori

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.