Java JPanel Child addComponent(JPanel panel, Component c, int x, int y, int width, int height, int ipadx, int ipady, double weightx, double weighty, int fill, int anchor)

Here you can find the source of addComponent(JPanel panel, Component c, int x, int y, int width, int height, int ipadx, int ipady, double weightx, double weighty, int fill, int anchor)

Description

Methode zum Einfuegen einer Komponente in ein Panel mit GridBagLayout.

License

Open Source License

Parameter

Parameter Description
panel Panel in das eingefuegt werden soll
c Komponente die eingefuegt werden soll
x Spalte in der eingefuegt werden soll
y Zeile in die eingefuegt werden soll
width Breite der Komponente in Spalten
height Hoehe der Komponente in Zeilen
ipadx Anzahl Pixel die der minimalen Komponentenbreite hinzugefuegt wird
ipady Anzahl Pixel die der minimalen Komponentenhoehe hinzugefuegt wird
weightx Mass fuer die zusaetzliche Flaeche in horizontaler Richtung die dieser Komponente ggf. zur Verfuegung gestellt wird
weighty Mass fuer die zusaetzliche Flaeche in vertikaler Richtung die dieser Komponente ggf. zur Verfuegung gestellt wird
fill Art und Weise in der die Komponente zusaetzlichen Platz nutzt
anchor Position innerhalb der virtuellen Zelle (Zeile/Spalte) an der die Komponente festgemacht wird

Declaration

public static void addComponent(JPanel panel, Component c, int x, int y, int width, int height, int ipadx,
        int ipady, double weightx, double weighty, int fill, int anchor) 

Method Source Code


//package com.java2s;
/*/*  w  w w .  jav  a  2 s. c  om*/
 * Copyright 2005 MH-Software-Entwicklung. All rights reserved.
 * Use is subject to license terms.
 */

import java.awt.*;
import javax.swing.*;

public class Main {
    private static final int VER_SEP_DIST = 4;
    private static final int HOR_FIELD_DIST = 4;
    private static final int VER_FIELD_DIST = 2;

    /** Methode zum Einfuegen einer Komponente in ein Panel mit GridBagLayout.
     * Diese Methode erfrodert zwar eine Menge Parameter, ist aber immer
     * noch besser als den ganzen Salmon fuer jede Komponente erneut hinzuschreiben.
     * @param panel Panel in das eingefuegt werden soll
     * @param c Komponente die eingefuegt werden soll
     * @param x Spalte in der eingefuegt werden soll
     * @param y Zeile in die eingefuegt werden soll
     * @param width Breite der Komponente in Spalten
     * @param height Hoehe der Komponente in Zeilen
     * @param ipadx Anzahl Pixel die der minimalen Komponentenbreite hinzugefuegt wird
     * @param ipady Anzahl Pixel die der minimalen Komponentenhoehe hinzugefuegt wird
     * @param weightx Mass fuer die zusaetzliche Flaeche in horizontaler Richtung die dieser Komponente ggf. zur Verfuegung gestellt wird
     * @param weighty Mass fuer die zusaetzliche Flaeche in vertikaler Richtung die dieser Komponente ggf. zur Verfuegung gestellt wird
     * @param fill Art und Weise in der die Komponente zusaetzlichen Platz nutzt
     * @param anchor Position innerhalb der virtuellen Zelle (Zeile/Spalte) an der die Komponente festgemacht wird
     */
    public static void addComponent(JPanel panel, Component c, int x, int y, int width, int height, int ipadx,
            int ipady, double weightx, double weighty, int fill, int anchor) {
        int dx = 0;
        int dy = 0;
        if (c instanceof JSeparator) {
            dy = VER_SEP_DIST;
        } else {
            dx = HOR_FIELD_DIST;
            dy = VER_FIELD_DIST;
        }
        addComponent(panel, c, x, y, width, height, ipadx, ipady, dx, dy, weightx, weighty, fill, anchor);
    }

    /** Einfuegen von Komponenten in ein Gridbaglayout
     * @param panel Panel in das eingefuegt werden soll
     * @param c Komponente die eingefuegt werden soll
     * @param x Spalte in der eingefuegt werden soll
     * @param y Zeile in die eingefuegt werden soll
     * @param width Breite der Komponente in Spalten
     * @param height Hoehe der Komponente in Zeilen
     * @param ipadx Anzahl Pixel die der minimalen Komponentenbreite hinzugefuegt wird
     * @param ipady Anzahl Pixel die der minimalen Komponentenhoehe hinzugefuegt wird
     * @param dx Horizontaler Abstand zu Nachbarkomponenten in Pixeln
     * @param dy Vertikaler Abstand zu Nachbarkomponenten in Pixeln
     * @param weightx Mass fuer die zusaetzliche Flaeche in horizontaler Richtung die dieser Komponente ggf. zur Verfuegung gestellt wird
     * @param weighty Mass fuer die zusaetzliche Flaeche in vertikaler Richtung die dieser Komponente ggf. zur Verfuegung gestellt wird
     * @param fill Art und Weise in der die Komponente zusaetzlichen Platz nutzt
     * @param anchor Position innerhalb der virtuellen Zelle (Zeile/Spalte) an der die Komponente festgemacht wird
     */
    public static void addComponent(JPanel panel, Component c, int x, int y, int width, int height, int ipadx,
            int ipady, int dx, int dy, double weightx, double weighty, int fill, int anchor) {
        GridBagConstraints gbc = new GridBagConstraints();
        gbc.gridx = x;
        gbc.gridy = y;
        gbc.gridwidth = width;
        gbc.gridheight = height;
        gbc.ipadx = (c instanceof JComboBox) ? Math.max(4, ipadx) : ipadx;
        gbc.ipady = (c instanceof JTextField) ? Math.max(6, ipady) : ipady;
        gbc.insets = new Insets(dy, dx, dy, dx);
        gbc.weightx = weightx;
        gbc.weighty = weighty;
        gbc.fill = fill;
        gbc.anchor = anchor;

        panel.add(c, gbc);
    }
}

Related

  1. addComponent(JPanel contentPane, GridBagConstraints gbc, JLabel label, JComponent component)
  2. addComponents(JPanel panel, JComponent... comps)
  3. addGBC(JPanel panel, Component component, int gridx, int gridy, int anchor, Insets insets)
  4. addInput2Pane(String label, Component c, JPanel p, int row)
  5. addSection(JPanel panel, String title)