From 9d733bb72ae9efd65913e423ea387fc609abb125 Mon Sep 17 00:00:00 2001 From: Alessandro Falappa Date: Fri, 12 Feb 2016 18:05:06 +0100 Subject: [PATCH] Created small demo application using javax.swing.GroupLayout --- demo/combos/forms/ComboDemo.java | 89 ++++++++++++++++++++++++++++++++ demo/demo.iml | 4 +- 2 files changed, 91 insertions(+), 2 deletions(-) create mode 100644 demo/combos/forms/ComboDemo.java diff --git a/demo/combos/forms/ComboDemo.java b/demo/combos/forms/ComboDemo.java new file mode 100644 index 0000000..52f29b7 --- /dev/null +++ b/demo/combos/forms/ComboDemo.java @@ -0,0 +1,89 @@ +package forms; + +import com.bulenkov.darcula.DarculaLaf; + +import javax.swing.*; +import java.awt.*; + +/** + * Combo box demo. Created by sasha on 12/02/16. + */ +public class ComboDemo { + public static void main(String[] args) throws UnsupportedLookAndFeelException { + UIManager.setLookAndFeel(new DarculaLaf()); + JFrame f = new JFrame("Combo boxes"); + f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); + Container contentPane = f.getContentPane(); + + JLabel label = new JLabel(); + JComboBox comboBox = new JComboBox(); + JTextField textField = new JTextField(); + JComboBox comboBox2 = new JComboBox(); + JButton button = new JButton(); + JComboBox comboBox3 = new JComboBox(); + JTextArea textArea = new JTextArea(); + JComboBox comboBox4 = new JComboBox(); + + label.setText("label"); + comboBox.setModel(new DefaultComboBoxModel(new String[]{"Item 1", "Item 2", "Item 3", "Item 4"})); + textField.setText("textfield"); + comboBox2.setModel(new DefaultComboBoxModel(new String[]{"Item 1", "Item 2", "Item 3", "Item 4"})); + button.setText("button"); + comboBox3.setModel(new DefaultComboBoxModel(new String[]{"Item 1", "Item 2", "Item 3", "Item 4"})); + textArea.setRows(5); + textArea.setColumns(10); + textArea.setText("textArea\nother text\nanother text"); + comboBox4.setModel(new DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); + GroupLayout layout = new GroupLayout(contentPane); + contentPane.setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(label) + .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) + .addComponent(comboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGroup(layout.createSequentialGroup() + .addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) + .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) + .addComponent(comboBox2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGroup(layout.createSequentialGroup() + .addComponent(button) + .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) + .addComponent(comboBox3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGroup(layout.createSequentialGroup() + .addComponent(textArea, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) + .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) + .addComponent(comboBox4, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))) + .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE) + .addComponent(label) + .addComponent(comboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) + .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE) + .addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) + .addComponent(comboBox2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) + .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE) + .addComponent(button) + .addComponent(comboBox3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) + .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE) + .addComponent(textArea, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) + .addComponent(comboBox4, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + f.pack(); + f.setVisible(true); + System.out.printf("comboBox baseline %d%n",comboBox.getBaseline(comboBox.getWidth(), comboBox3.getHeight())); + System.out.printf("comboBox baseline resize behaviour %s%n", comboBox.getBaselineResizeBehavior()); + } + +} diff --git a/demo/demo.iml b/demo/demo.iml index f2ac100..cd0cb1b 100644 --- a/demo/demo.iml +++ b/demo/demo.iml @@ -5,6 +5,7 @@ + @@ -12,5 +13,4 @@ - - + \ No newline at end of file