|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Jan 2010
Messaggi: 5
|
[JAVA] Che layout manager usereste per posizionare JButtons come in una calcolatrice?
Ragazzi vi scrivo per una cosa molto semplice ma che mi dà problemi
![]() In un frame uso al centro un gridLayout contenente 4 JButton: più; meno; per; diviso. Sappiamo che un gridLayout non ascolta alcun setPreferredSize o setMaximumSize ed i bottoni vengono disposti con la dimensione massima disponibile nel frame. ![]() Codice:
JPanel prova = new JPanel(new GridLayout(2,2,10,10)); prova.add(wrap(plus)); prova.add(wrap(minus)); prova.add(wrap(per)); prova.add(wrap(divide)); window.add(prova, BorderLayout.CENTER); .... public static JComponent wrap(JComponent comp) { //Dimension d = new Dimension(60,60); //comp.setPreferredSize(d); JPanel panel = new JPanel(); panel.add(comp); return panel; } L'esempio del codice è questo: ![]() Voi che soluzione avete per posizionare dei bottoni al centro del frame, come se fosse una calcolatrice?? Senza uso di IDEs Grazie!!! |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Una soluzione è infilare ogni pulsante in una Box orizzontale anteponendo e posponendo al component della colla orizzontale:
Codice:
private void initComponents() { JTextField inputField = new JTextField(); frame.add(inputField, BorderLayout.NORTH); JPanel centralPane = new JPanel(new GridLayout(2,2,10,10)); JButton opMult, opDiv, opSum, opSub; opMult = new JButton("*"); opDiv = new JButton("/"); opSum = new JButton("+"); opSub = new JButton("-"); centralPane.add(wrapped(opMult)); centralPane.add(wrapped(opDiv)); centralPane.add(wrapped(opSum)); centralPane.add(wrapped(opSub)); frame.add(centralPane, BorderLayout.CENTER); } private JComponent wrapped(JComponent c) { Box box = Box.createHorizontalBox(); box.add(Box.createHorizontalGlue()); box.add(c); box.add(Box.createHorizontalGlue()); return box; } Se ti vuoi cimentare con GridBagLayout ti consiglio caldamente il tutorial in proposito scritto da PGI che trovi nella sezione Tutorial. Se poi non bastasse puoi consultare anche la sezione apposita del "Really Big Index" (Java Tutorial della Sun, ops... Oracle).
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 11-02-2010 alle 17:07. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:12.