The PAGE_AXIS constant specifies that components should be laid out in the direction that lines flow across a page as determined by the target container's ComponentOrientation property. The two arguments to the BoxLayout constructor are the container that it manages and the axis along which the components will be laid out. The first bold line creates a top-to-bottom box layout and sets it up as the layout manager for listPane. Put everything together, using the content pane's BorderLayout.Ĭontainer contentPane = getContentPane() ĬontentPane.add(listPane, BorderLayout.CENTER) ĬontentPane.add(buttonPane, BorderLayout.PAGE_END) Lay out the buttons from left to right.ītLayout(new BoxLayout(buttonPane, BoxLayout.LINE_AXIS)) ītBorder(BorderFactory.createEmptyBorder(0, 10, 10, 10)) īuttonPane.add(Box.createHorizontalGlue()) buttonPane.add(cancelButton) buttonPane.add(Box.createRigidArea(new Dimension(10, 0))) buttonPane.add(setButton) tBorder(BorderFactory.createEmptyBorder(10,10,10,10)) ListPane.add(label) listPane.add(Box.createRigidArea(new Dimension(0,5))) listPane.add(listScroller) tLayout(new BoxLayout(listPane, BoxLayout.PAGE_AXIS)) Lay out the label and scroll pane from top to bottom. JScrollPane listScroller = new JScrollPane(list) The bold lines of code set up the box layouts and add components to them. This code is in the constructor for the dialog, which is implemented as a JDialog subclass. You can find links for running ListDialog and for its source files in theĮxample index for Using Swing Components. A BorderLayout combines the two parts of the GUI and ensures that any excess space is given to the scroll pane. In the bottom part of the GUI, a left-to-right box layout places two buttons next to each other. In the top part of the GUI, a top-to-bottom box layout places a label above a scroll pane. The following figure shows a GUI that uses two instances of BoxLayout. Alternatively, to compile and run the example yourself, consult the example index. Java™ Web Start ( download JDK 7 or later). Here is a picture of an application that demonstrates using BoxLayout to display a centered column of components:Ĭlick the Launch button to run BoxLayoutDemo using You might think of it as a version of FlowLayout, but with greater functionality. BoxLayout either stacks its components on top of each other or places them in a row your choice. The Swing packages include a general purpose layout manager namedīoxLayout. If you are interested in using JavaFX to create your GUI, see Otherwise, if you want to code by hand and do not want to use GroupLayout, then GridBagLayout is recommended as the next most flexible and powerful layout manager. If you are not interested in learning all the details of layout management, you might prefer to use the GroupLayout layout manager combined with a builder tool to lay out your GUI. Note: This lesson covers writing layout code by hand, which can be challenging.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |