Ciao a tutti, devo realizzare un programma in java che crei una finestra, con 2 pannelli all'interno(uno a est e uno al centro), l'altezza dei due pannelli deve essere la stessa, mentre le larghezze sono ripartite in questo modo: Il pannello a est deve avere la larghezza uguale a 2/3 di quella della finestra, Il pannello al centro deve averla uguale ai 1/3 della larghezza della finestra; ciò deve essere vero per qualsiasi larghezza abbia la finestra.
Facendo tale programma, mi sono reso conto che le larghezze non sono come dovrebbero, come mai? Ecco il codice
codice:import javax.swing.*; import java.awt.*; public class Finestra extends JFrame{ public Finestra(int wIdth, int hEight) { setSize(wIdth,hEight); JPanel jNot=new JPanel(); PannelloTraiettoria jTrai=new PannelloTraiettoria(); jNot.setBackground(Color.GREEN); jTrai.setBackground(Color.BLUE); Container cont=getContentPane(); //Codice per la gestione di pannelli: jNot.setPreferredSize(new Dimension((int)(2*this.getSize().getWidth())/3, (int)this.getSize().getHeight()));//Assegna al pannello l'altezza della finestra e i 2/3 della larghezza. jTrai.setPreferredSize(new Dimension((int)(this.getSize().getWidth())/3, (int)this.getSize().getHeight()));//Assegna al pannello l'altezza della finestra e 1/3 della larghezza. //Fine codice per la gestione delle dimensioni dei pannelli. cont.add(jNot,BorderLayout.EAST); cont.add(jTrai,BorderLayout.CENTER); } } import javax.swing.*; import java.awt.*; public class Test { public static void main(String[] args) { Finestra fin=new Finestra(500,600); fin.setLocation(20,20); fin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); fin.setVisible(true); } } import javax.swing.*; import java.awt.*; public class PannelloTraiettoria extends JPanel{ public PannelloTraiettoria() { } }

Rispondi quotando