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)
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 |
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)
//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); } }