List of usage examples for java.awt GridBagLayout GridBagLayout
public GridBagLayout()
From source file:Main.java
public static void main(String[] args) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel gui = new JPanel(new BorderLayout(5, 5)); JPanel plafComponents = new JPanel(new FlowLayout(FlowLayout.RIGHT, 3, 3)); plafComponents.setBorder(new TitledBorder("FlowLayout(FlowLayout.RIGHT, 3,3)")); UIManager.LookAndFeelInfo[] plafInfos = UIManager.getInstalledLookAndFeels(); String[] plafNames = new String[plafInfos.length]; for (int ii = 0; ii < plafInfos.length; ii++) { plafNames[ii] = plafInfos[ii].getName(); }//from w w w . ja v a 2 s.co m JComboBox plafChooser = new JComboBox(plafNames); plafComponents.add(plafChooser); JCheckBox pack = new JCheckBox("Pack on PLAF change", true); plafComponents.add(pack); plafChooser.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { int index = plafChooser.getSelectedIndex(); try { UIManager.setLookAndFeel(plafInfos[index].getClassName()); SwingUtilities.updateComponentTreeUI(frame); if (pack.isSelected()) { frame.pack(); frame.setMinimumSize(frame.getSize()); } } catch (Exception e) { e.printStackTrace(); } } }); gui.add(plafComponents, BorderLayout.NORTH); JPanel dynamicLabels = new JPanel(new BorderLayout(4, 4)); dynamicLabels.setBorder(new TitledBorder("BorderLayout(4,4)")); gui.add(dynamicLabels, BorderLayout.WEST); final JPanel labels = new JPanel(new GridLayout(0, 2, 3, 3)); labels.setBorder(new TitledBorder("GridLayout(0,2,3,3)")); JButton addNew = new JButton("Add Another Label"); dynamicLabels.add(addNew, BorderLayout.NORTH); addNew.addActionListener(new ActionListener() { private int labelCount = 0; public void actionPerformed(ActionEvent ae) { labels.add(new JLabel("Label " + ++labelCount)); frame.validate(); } }); dynamicLabels.add(new JScrollPane(labels), BorderLayout.CENTER); String[] header = { "Name", "Value" }; String[] a = new String[0]; String[] names = System.getProperties().stringPropertyNames().toArray(a); String[][] data = new String[names.length][2]; for (int ii = 0; ii < names.length; ii++) { data[ii][0] = names[ii]; data[ii][1] = System.getProperty(names[ii]); } DefaultTableModel model = new DefaultTableModel(data, header); JTable table = new JTable(model); JScrollPane tableScroll = new JScrollPane(table); Dimension tablePreferred = tableScroll.getPreferredSize(); tableScroll.setPreferredSize(new Dimension(tablePreferred.width, tablePreferred.height / 3)); JPanel imagePanel = new JPanel(new GridBagLayout()); JLabel imageLabel = new JLabel("test"); imagePanel.add(imageLabel, null); JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, tableScroll, new JScrollPane(imagePanel)); gui.add(splitPane, BorderLayout.CENTER); frame.setContentPane(gui); frame.pack(); frame.setVisible(true); }
From source file:de.codesourcery.eve.skills.ui.utils.CalendarWidget.java
public static void main(String[] args) throws Exception { final SimpleDateFormat DF = new SimpleDateFormat("dd.MM"); final Calendar specialDate = Calendar.getInstance(); specialDate.add(Calendar.DAY_OF_MONTH, 5); final AtomicBoolean doStuff = new AtomicBoolean(false); final ICalendarRenderer renderer = new ICalendarRenderer() { @Override/* w w w .jav a 2 s . c o m*/ public String getDateLabel(Date date) { return DF.format(date); } @Override public String getText(Date date) { if (DateUtils.isSameDay(date, specialDate.getTime()) && doStuff.get()) { return "SPECIAL !!!"; } return "some\nmultiline\ntext"; } @Override public String getToolTip(Date date) { return getText(date); } @Override public Color getTextColor(Date date) { return Color.RED; } }; final JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().setLayout(new GridBagLayout()); final CalendarWidget widget = new CalendarWidget(new Date(), renderer); widget.addSelectionListener(new ISelectionListener<Date>() { @Override public void selectionChanged(Date selected) { System.out.println("Selected date > " + selected); } }); frame.getContentPane().add(widget, new ConstraintsBuilder().end()); frame.pack(); frame.setVisible(true); java.lang.Thread.sleep(2 * 1000); doStuff.set(true); widget.refreshDateLabel(specialDate.getTime()); }
From source file:Main.java
public static void getPanelGridBagLayout(JPanel panel) { panel.setLayout(new GridBagLayout()); }
From source file:Main.java
public static JPanel createVertical(final Component... components) { final JPanel jp = new JPanel(new GridBagLayout()); final GridBagConstraints gbc = new GridBagConstraints(); gbc.gridx = 0;// w ww . ja va2s .c om gbc.gridy = 0; gbc.insets = new Insets(0, 5, 4, 5); gbc.anchor = GridBagConstraints.NORTH; gbc.weightx = 1.0; gbc.fill = GridBagConstraints.HORIZONTAL; for (final Component component : components) { if (gbc.gridy == components.length - 1) { gbc.weighty = 1.0; } jp.add(component, gbc); gbc.gridy++; } return jp; }
From source file:Main.java
/** * Lays out a list of controls in a compact grid-layout, meaning that each * cell in the grid only takes up it's preferred size. * //from ww w . j a va 2 s . com * @param parent the parent <code>Container</code> * @param colCount the number of columns * @param padding the number of pixels to pad between cells * @param components a <code>List</code> of <code>Component</code>s that * should be added to <code>parent</code> */ public static void makeCompactGrid(Container parent, int colCount, int padding, List<? extends Component> components) { parent.setLayout(new GridBagLayout()); final int componentCount = components.size(); final int rowCount = getRowCount(componentCount, colCount); final GridBagConstraints c = new GridBagConstraints(); final int realPadding = (padding / 2); c.gridheight = 1; c.gridwidth = 1; c.fill = GridBagConstraints.BOTH; c.weightx = 1; c.weighty = 1; c.insets = new Insets(realPadding, realPadding, realPadding, realPadding); for (int i = 0; i < (rowCount * colCount); i++) { final int x = (i % colCount); final int y = (i / colCount); c.gridx = x; c.gridy = y; parent.add(components.get(i), c); } }
From source file:Main.java
/** * Creates a panel that contains all of the components on top of each other in north, * and tries to make them as small as possible (probably by using getPreferredSize()). * * @deprecated use proper layout, usually no need to use such complex/ugly layouting *//*from w ww. j av a 2s . c om*/ public static JPanel combineInNorth(JComponent[] components) { JPanel result = new JPanel(); if (components.length == 0) { return result; } result.setLayout(new BorderLayout()); JPanel contentPanel = new JPanel(); result.add(contentPanel, BorderLayout.NORTH); contentPanel.setLayout(new GridBagLayout()); GridBagConstraints constraints = new GridBagConstraints(); constraints.gridx = 0; constraints.weightx = 1.0; constraints.fill = GridBagConstraints.HORIZONTAL; for (int i = 0; i < components.length; i++) { contentPanel.add(components[i], constraints); } if (result.isVisible()) result.doLayout(); return result; }
From source file:Main.java
public Main() { JTextField f = new JTextField(20); setLayout(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); c.anchor = GridBagConstraints.SOUTHEAST; c.weighty = 1;// w w w . ja v a 2 s . co m add(f, c); }
From source file:Main.java
public Main() { JPanel bigPanel = new JPanel(new GridBagLayout()); JPanel panel_a = new JPanel(); JButton btnA = new JButton("button a"); panel_a.add(btnA);// w w w. ja v a2 s .co m JPanel panel_b = new JPanel(); JButton btnB = new JButton("button b"); panel_b.add(btnB); GridBagConstraints c = new GridBagConstraints(); c.gridwidth = GridBagConstraints.REMAINDER; c.fill = GridBagConstraints.HORIZONTAL; c.weightx = 1.0; bigPanel.add(panel_a, c); bigPanel.add(panel_b, c); c.weighty = 1.0; bigPanel.add(new JPanel(), c); this.add(bigPanel); }
From source file:Main.java
public Main() { GridBagLayout layout = new GridBagLayout(); GridBagConstraints constraints = new GridBagConstraints(); getContentPane().setLayout(layout);/* ww w . j a v a 2s .co m*/ constraints.anchor = GridBagConstraints.WEST; JLabel l1 = new JLabel("First Name:"); constraints.gridx = 0; constraints.gridy = 0; constraints.gridwidth = 1; constraints.gridheight = 1; constraints.weightx = 0; constraints.weighty = 0; constraints.fill = GridBagConstraints.BOTH; constraints.insets = new Insets(5, 5, 5, 5); layout.setConstraints(l1, constraints); getContentPane().add(l1); JTextField t1 = new JTextField(); constraints.gridx = 1; constraints.gridy = 0; constraints.weightx = 1; constraints.fill = GridBagConstraints.HORIZONTAL; constraints.insets = new Insets(5, 5, 5, 5); layout.setConstraints(t1, constraints); getContentPane().add(t1); setDefaultCloseOperation(EXIT_ON_CLOSE); setSize(700, 500); }
From source file:Main.java
public Main() { setLayout(new GridBagLayout()); int x, y; // for clarity addGB(new JButton("North"), x = 1, y = 0); addGB(new JButton("West"), x = 0, y = 1); addGB(new JButton("Center"), x = 1, y = 1); addGB(new JButton("East"), x = 2, y = 1); addGB(new JButton("South"), x = 1, y = 2); }