Breite beim GridBagLayout festlegen

Feras

Aktives Mitglied
Hi, ich möchte gern, dass die Breite des JRadioButtons radioRestposten_Ja (Zeile 155) nicht rechts über die anderen Elemente heinausragt sondern rechts mit den JTextFields darüber bündig abschließt. Der JRadioButton soll also nach links verschoben werden. Ich glaube das ist per Dimension machbar, weiß jedoch nicht wie?


MfG Feras



Java:
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.ScrollPaneConstants;

public class GUI extends Frame {

	private JTextField benutzerNameText;
	private JTextArea BeschreibungText;
	private JTextField ProduktmengeText;
	private JTextField ProduktKategorie;
	private JTextField ProduktRestposten;

	public GUI() {
		setTitle("Feras");
		setVisible(true);
		addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent evt) {
				System.exit(0);
			}
		});
		zeigeAnmeldeGUI();
	}

	private void zeigeAnmeldeGUI() {

		GridBagLayout gbl_contentPane = new GridBagLayout();
		gbl_contentPane.columnWeights = new double[] { 0.0, 1.0,
				Double.MIN_VALUE };
		gbl_contentPane.rowWeights = new double[] { 1.0, 0.0, 0.0, 0.0,
				Double.MIN_VALUE };
		setLayout(gbl_contentPane);

		JLabel lblTitel = new JLabel("<html>Produkt hinzufügen</html>");
		lblTitel.setPreferredSize(new Dimension(260, 40));
		GridBagConstraints gbc_lblTitel = new GridBagConstraints();
		gbc_lblTitel.gridwidth = 2;
		gbc_lblTitel.fill = GridBagConstraints.HORIZONTAL;
		gbc_lblTitel.insets = new Insets(0, 5, 5, 0);
		gbc_lblTitel.gridx = 0;
		gbc_lblTitel.gridy = 0;
		add(lblTitel, gbc_lblTitel);

		JLabel lblProduktname = new JLabel("Produktname:");
		lblProduktname.setLabelFor(benutzerNameText);
		GridBagConstraints gbc_lblProduktname = new GridBagConstraints();
		gbc_lblProduktname.insets = new Insets(20, 5, 5, 5);
		gbc_lblProduktname.anchor = GridBagConstraints.WEST;
		gbc_lblProduktname.gridx = 0;
		gbc_lblProduktname.gridy = 1;
		add(lblProduktname, gbc_lblProduktname);

		benutzerNameText = new JTextField();
		benutzerNameText.setColumns(20);
		GridBagConstraints gbc_txtName = new GridBagConstraints();
		gbc_txtName.insets = new Insets(20, 0, 5, 5);
		gbc_txtName.fill = GridBagConstraints.HORIZONTAL;
		gbc_txtName.gridx = 1;
		gbc_txtName.gridy = 1;
		// gbc_txtName.weightx = 0.0;
		// gbc_txtName.gridwidth = 0;
		// gbc_txtName.ipady = 40;
		add(benutzerNameText, gbc_txtName);
		benutzerNameText.setColumns(10);

		ProduktmengeText = new JTextField();
		ProduktmengeText.setColumns(20);
		GridBagConstraints gbc_ProduktmengeText = new GridBagConstraints();
		gbc_ProduktmengeText.insets = new Insets(0, 0, 5, 5);
		gbc_ProduktmengeText.fill = GridBagConstraints.HORIZONTAL;
		gbc_ProduktmengeText.gridx = 1;
		gbc_ProduktmengeText.gridy = 2;
		add(ProduktmengeText, gbc_ProduktmengeText);

		JLabel lblProduktmenge = new JLabel("Menge:");
		lblProduktmenge.setLabelFor(ProduktmengeText);
		GridBagConstraints gbc_lblProduktmenge = new GridBagConstraints();
		gbc_lblProduktmenge.insets = new Insets(0, 5, 5, 5);
		gbc_lblProduktmenge.anchor = GridBagConstraints.WEST;
		gbc_lblProduktmenge.gridx = 0;
		gbc_lblProduktmenge.gridy = 2;
		add(lblProduktmenge, gbc_lblProduktmenge);

		BeschreibungText = new JTextArea(5, 20);
		JScrollPane scrollPane = new JScrollPane(BeschreibungText,
				ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
				ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
		GridBagConstraints gbc_BeschreibungText = new GridBagConstraints();
		gbc_BeschreibungText.insets = new Insets(0, 0, 5, 5);
		gbc_BeschreibungText.fill = GridBagConstraints.HORIZONTAL;
		gbc_BeschreibungText.gridx = 1;
		gbc_BeschreibungText.gridy = 3;
		// gbc_BeschreibungText.ipady = 40;
		add(scrollPane, gbc_BeschreibungText);

		JLabel lblProduktbeschreibung = new JLabel("Beschreibung:");
		lblProduktbeschreibung.setLabelFor(BeschreibungText);
		GridBagConstraints gbc_lblProduktbeschreibung = new GridBagConstraints();
		gbc_lblProduktbeschreibung.insets = new Insets(0, 5, 5, 5);
		gbc_lblProduktbeschreibung.anchor = GridBagConstraints.WEST;
		gbc_lblProduktbeschreibung.gridx = 0;
		gbc_lblProduktbeschreibung.gridy = 3;
		add(lblProduktbeschreibung, gbc_lblProduktbeschreibung);

		ProduktKategorie = new JTextField();
		GridBagConstraints gbc_ProduktKategorie = new GridBagConstraints();
		gbc_ProduktKategorie.insets = new Insets(0, 0, 5, 5);
		gbc_ProduktKategorie.fill = GridBagConstraints.HORIZONTAL;
		gbc_ProduktKategorie.gridx = 1;
		gbc_ProduktKategorie.gridy = 4;
		add(ProduktKategorie, gbc_ProduktKategorie);

		JLabel lblProduktKategorie = new JLabel("Kategorie");
		lblProduktKategorie.setLabelFor(ProduktKategorie);
		GridBagConstraints gbc_lblProduktKategorie = new GridBagConstraints();
		gbc_lblProduktKategorie.insets = new Insets(0, 5, 5, 5);
		gbc_lblProduktKategorie.anchor = GridBagConstraints.WEST;
		gbc_lblProduktKategorie.gridx = 0;
		gbc_lblProduktKategorie.gridy = 4;
		add(lblProduktKategorie, gbc_lblProduktKategorie);

		/**
		 * ProduktRestposten = new JTextField(); GridBagConstraints
		 * gbc_ProduktRestposten = new GridBagConstraints();
		 * gbc_ProduktRestposten.insets = new Insets(0, 0, 5, 5);
		 * gbc_ProduktRestposten.fill = GridBagConstraints.HORIZONTAL;
		 * gbc_ProduktRestposten.gridx = 1; gbc_ProduktRestposten.gridy = 5;
		 * add(ProduktRestposten, gbc_ProduktRestposten);
		 **/
		ButtonGroup gruppe = new ButtonGroup();

		JRadioButton radioRestposten_Ja = new JRadioButton("Ja", false);
		GridBagConstraints gbc_radioRestposten_Ja = new GridBagConstraints();
		gbc_radioRestposten_Ja.insets = new Insets(0, 0, 5, 5);
		gbc_radioRestposten_Ja.fill = GridBagConstraints.HORIZONTAL;
		gbc_radioRestposten_Ja.gridx = 1;
		gbc_radioRestposten_Ja.gridy = 5;
		add(radioRestposten_Ja, gbc_radioRestposten_Ja);
		gruppe.add(radioRestposten_Ja);

		JRadioButton radioRestposten_Nein = new JRadioButton("Nein", true);
		GridBagConstraints gbc_radioRestposten_Nein = new GridBagConstraints();
		gbc_radioRestposten_Nein.insets = new Insets(0, 0, 5, 5);
		gbc_radioRestposten_Nein.fill = GridBagConstraints.HORIZONTAL;
		gbc_radioRestposten_Nein.gridx = 2;
		gbc_radioRestposten_Nein.gridy = 5;
		add(radioRestposten_Nein, gbc_radioRestposten_Nein);
		gruppe.add(radioRestposten_Nein);

		JLabel lblProduktRestposten = new JLabel("Restposten");
		lblProduktRestposten.setLabelFor(ProduktKategorie);
		GridBagConstraints gbc_lblProduktRestposten = new GridBagConstraints();
		gbc_lblProduktRestposten.insets = new Insets(0, 5, 5, 5);
		gbc_lblProduktRestposten.anchor = GridBagConstraints.WEST;
		gbc_lblProduktRestposten.gridx = 0;
		gbc_lblProduktRestposten.gridy = 5;
		add(lblProduktRestposten, gbc_lblProduktRestposten);

		JPanel panel = new JPanel();
		panel.setLayout(new FlowLayout(FlowLayout.TRAILING, 0, 0));
		GridBagConstraints gbc_panel = new GridBagConstraints();
		gbc_panel.gridwidth = 2;
		gbc_panel.insets = new Insets(0, 0, 5, 5);
		gbc_panel.fill = GridBagConstraints.BOTH;
		gbc_panel.gridx = 0;
		gbc_panel.gridy = 6;
		add(panel, gbc_panel);

		JButton anmeldenButton = new JButton("Hinzufügen");
		panel.add(anmeldenButton);

		JButton btnAbbrechen = new JButton("Abbrechen");
		btnAbbrechen.addActionListener(e -> cancel());
		panel.add(btnAbbrechen);

		pack();
		setLocationRelativeTo(null);

		/**
		 * anmeldenButton.addActionListener(new ActionListener() { public void
		 * actionPerformed(ActionEvent e) { boolean erfolg = new
		 * Nutzerverwaltung().anmelden( benutzerNameText.getText(),
		 * passwortText.getText()); if (erfolg) { setLayout(new GridLayout(1,
		 * 1)); setTitle("Lehvis - angemeldeter Nutzer " +
		 * Nutzerverwaltung.getAngemeldeterNutzer() .getVorname() + " " +
		 * Nutzerverwaltung.getAngemeldeterNutzer() .getName()); removeAll();
		 * add(new UebungsverwaltungGUI(LehvisGUI.this)); validate(); } else {
		 * Meldung fenster = new Meldung("Falsche Eingabe!");
		 * benutzerNameText.setText(""); passwortText.setText(""); } validate();
		 * } });
		 * 
		 * validate();
		 **/
	}

	private void cancel() {
		dispose();
	}

	public static void main(String[] args) {
		new GUI();
	}

}
 
Hallo Feras,
da ich nicht ganz verstehen kann, dass du dein Programm in AWT geschrieben hast, habe ich dir hier eine Version in Swing anzubieten. Da dein Programm ziemlich offensichtlich ein JDialog zu einem anderen Programm darstellen soll, habe ich ihn direkt in JDialog-Form geschrieben.

Der Fehler bei deinem Beispiel liegt darin, dass du den Content nicht von den Steuerbuttons am unteren Rand trennst. Somit kannst du die Spaltenbreite nicht so setzen, dass die letzte Spalte die Größte ist und nicht die Mittlere.

AddProdukt.java
Java:
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;

public class AddProdukt extends JDialog {

	private final JPanel contentPanel = new JPanel();
	private JTextField txtName;
	private JTextField txtMenge;
	private JTextField txtKategorie;

	private int reason=JOptionPane.CANCEL_OPTION;
	public AddProdukt(JFrame frame,boolean block) {
		super(frame,block);
		setSize(350, 300);
		setLocationRelativeTo(null);
		setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
		getContentPane().setLayout(new BorderLayout());
		contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
		getContentPane().add(contentPanel, BorderLayout.CENTER);
		GridBagLayout gbl_contentPanel = new GridBagLayout();
		gbl_contentPanel.columnWidths = new int[]{0, 0, 0, 0};
		gbl_contentPanel.rowHeights = new int[]{0, 0, 0, 0, 0, 0, 0};
		gbl_contentPanel.columnWeights = new double[]{0.0, 0.0, 1.0, Double.MIN_VALUE};
		gbl_contentPanel.rowWeights = new double[]{1.0, 0.0, 0.0, 1.0, 0.0, 0.0, Double.MIN_VALUE};
		contentPanel.setLayout(gbl_contentPanel);
		{
			JLabel lblProduktHinzufgen = new JLabel("Produkt hinzuf\u00FCgen");
			GridBagConstraints gbc_lblProduktHinzufgen = new GridBagConstraints();
			gbc_lblProduktHinzufgen.anchor = GridBagConstraints.WEST;
			gbc_lblProduktHinzufgen.gridwidth = 3;
			gbc_lblProduktHinzufgen.insets = new Insets(0, 0, 5, 0);
			gbc_lblProduktHinzufgen.gridx = 0;
			gbc_lblProduktHinzufgen.gridy = 0;
			contentPanel.add(lblProduktHinzufgen, gbc_lblProduktHinzufgen);

			JLabel lblProduktname = new JLabel("Produktname:");
			GridBagConstraints gbc_lblProduktname = new GridBagConstraints();
			gbc_lblProduktname.anchor = GridBagConstraints.NORTHEAST;
			gbc_lblProduktname.insets = new Insets(0, 0, 5, 5);
			gbc_lblProduktname.gridx = 0;
			gbc_lblProduktname.gridy = 1;
			contentPanel.add(lblProduktname, gbc_lblProduktname);

			txtName = new JTextField();
			GridBagConstraints gbc_txtName = new GridBagConstraints();
			gbc_txtName.gridwidth = 2;
			gbc_txtName.insets = new Insets(0, 0, 5, 0);
			gbc_txtName.fill = GridBagConstraints.HORIZONTAL;
			gbc_txtName.gridx = 1;
			gbc_txtName.gridy = 1;
			contentPanel.add(txtName, gbc_txtName);
			txtName.setColumns(10);

			JLabel lblMenge = new JLabel("Menge:");
			GridBagConstraints gbc_lblMenge = new GridBagConstraints();
			gbc_lblMenge.anchor = GridBagConstraints.NORTHWEST;
			gbc_lblMenge.insets = new Insets(0, 0, 5, 5);
			gbc_lblMenge.gridx = 0;
			gbc_lblMenge.gridy = 2;
			contentPanel.add(lblMenge, gbc_lblMenge);

			txtMenge = new JTextField();
			GridBagConstraints gbc_txtMenge = new GridBagConstraints();
			gbc_txtMenge.gridwidth = 2;
			gbc_txtMenge.insets = new Insets(0, 0, 5, 0);
			gbc_txtMenge.fill = GridBagConstraints.HORIZONTAL;
			gbc_txtMenge.gridx = 1;
			gbc_txtMenge.gridy = 2;
			contentPanel.add(txtMenge, gbc_txtMenge);
			txtMenge.setColumns(10);

			JLabel lblBeschreibung = new JLabel("Beschreibung:");
			GridBagConstraints gbc_lblBeschreibung = new GridBagConstraints();
			gbc_lblBeschreibung.anchor = GridBagConstraints.NORTHWEST;
			gbc_lblBeschreibung.insets = new Insets(0, 0, 5, 5);
			gbc_lblBeschreibung.gridx = 0;
			gbc_lblBeschreibung.gridy = 3;
			contentPanel.add(lblBeschreibung, gbc_lblBeschreibung);

			JTextArea txtrBeschreibung = new JTextArea();
			txtrBeschreibung.setBorder(txtMenge.getBorder());
			txtrBeschreibung.setFont(txtMenge.getFont());
			txtrBeschreibung.setLineWrap(true);
			txtrBeschreibung.setWrapStyleWord(true);
			GridBagConstraints gbc_txtrBeschreibung = new GridBagConstraints();
			gbc_txtrBeschreibung.gridwidth = 2;
			gbc_txtrBeschreibung.insets = new Insets(0, 0, 5, 0);
			gbc_txtrBeschreibung.fill = GridBagConstraints.BOTH;
			gbc_txtrBeschreibung.gridx = 1;
			gbc_txtrBeschreibung.gridy = 3;
			contentPanel.add(txtrBeschreibung, gbc_txtrBeschreibung);

			JLabel lblKategorie = new JLabel("Kategorie:");
			GridBagConstraints gbc_lblKategorie = new GridBagConstraints();
			gbc_lblKategorie.anchor = GridBagConstraints.NORTHWEST;
			gbc_lblKategorie.insets = new Insets(0, 0, 5, 5);
			gbc_lblKategorie.gridx = 0;
			gbc_lblKategorie.gridy = 4;
			contentPanel.add(lblKategorie, gbc_lblKategorie);

			txtKategorie = new JTextField();
			GridBagConstraints gbc_txtKategorie = new GridBagConstraints();
			gbc_txtKategorie.gridwidth = 2;
			gbc_txtKategorie.insets = new Insets(0, 0, 5, 0);
			gbc_txtKategorie.fill = GridBagConstraints.HORIZONTAL;
			gbc_txtKategorie.gridx = 1;
			gbc_txtKategorie.gridy = 4;
			contentPanel.add(txtKategorie, gbc_txtKategorie);
			txtKategorie.setColumns(10);

			JLabel lblRestposten = new JLabel("Restposten:");
			GridBagConstraints gbc_lblRestposten = new GridBagConstraints();
			gbc_lblRestposten.anchor = GridBagConstraints.NORTHWEST;
			gbc_lblRestposten.insets = new Insets(0, 0, 0, 5);
			gbc_lblRestposten.gridx = 0;
			gbc_lblRestposten.gridy = 5;
			contentPanel.add(lblRestposten, gbc_lblRestposten);

			JRadioButton rdbtnJa = new JRadioButton("Ja");
			GridBagConstraints gbc_rdbtnJa = new GridBagConstraints();
			gbc_rdbtnJa.insets = new Insets(0, 0, 0, 5);
			gbc_rdbtnJa.gridx = 1;
			gbc_rdbtnJa.gridy = 5;
			contentPanel.add(rdbtnJa, gbc_rdbtnJa);

			JRadioButton rdbtnNein = new JRadioButton("Nein");
			GridBagConstraints gbc_rdbtnNein = new GridBagConstraints();
			gbc_rdbtnNein.anchor = GridBagConstraints.WEST;
			gbc_rdbtnNein.gridx = 2;
			gbc_rdbtnNein.gridy = 5;
			contentPanel.add(rdbtnNein, gbc_rdbtnNein);

			JPanel buttonPane = new JPanel();
			buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
			getContentPane().add(buttonPane, BorderLayout.SOUTH);
			{
				JButton okButton = new JButton("OK");
				okButton.addActionListener(new ActionListener() {
					@Override
					public void actionPerformed(ActionEvent e) {
						close(JOptionPane.OK_OPTION);
					}
				});
				buttonPane.add(okButton);
				getRootPane().setDefaultButton(okButton);
			}
			{
				JButton cancelButton = new JButton("Cancel");
				cancelButton.addActionListener(new ActionListener() {
					@Override
					public void actionPerformed(ActionEvent e) {
						close(JOptionPane.CANCEL_OPTION);
					}
				});
				buttonPane.add(cancelButton);
			}
		}
		setVisible(true);
	}
	private void close(int reason){
		this.reason=reason;
		dispose();
	}
	private int getReason(){
		return reason;
	}


	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		try {
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		AddProdukt dialog=new AddProdukt(null, true);
		if(dialog.getReason()==JOptionPane.OK_OPTION){
			System.out.println("User Pressed ok");
		}else{
			System.out.println("User Pressed cancel");
		}
	}
}

Gruß Simon

bei Fragen einfach Melden 🙂
 

Anhänge

  • AddPRodukt.PNG
    AddPRodukt.PNG
    12,1 KB · Aufrufe: 37
Hallo Feras,
da ich nicht ganz verstehen kann, dass du dein Programm in AWT geschrieben hast, habe ich dir hier eine Version in Swing anzubieten. Da dein Programm ziemlich offensichtlich ein JDialog zu einem anderen Programm darstellen soll, habe ich ihn direkt in JDialog-Form geschrieben.

Der Fehler bei deinem Beispiel liegt darin, dass du den Content nicht von den Steuerbuttons am unteren Rand trennst. Somit kannst du die Spaltenbreite nicht so setzen, dass die letzte Spalte die Größte ist und nicht die Mittlere.

AddProdukt.java
Java:
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;

public class AddProdukt extends JDialog {

	private final JPanel contentPanel = new JPanel();
	private JTextField txtName;
	private JTextField txtMenge;
	private JTextField txtKategorie;

	private int reason=JOptionPane.CANCEL_OPTION;
	public AddProdukt(JFrame frame,boolean block) {
		super(frame,block);
		setSize(350, 300);
		setLocationRelativeTo(null);
		setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
		getContentPane().setLayout(new BorderLayout());
		contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
		getContentPane().add(contentPanel, BorderLayout.CENTER);
		GridBagLayout gbl_contentPanel = new GridBagLayout();
		gbl_contentPanel.columnWidths = new int[]{0, 0, 0, 0};
		gbl_contentPanel.rowHeights = new int[]{0, 0, 0, 0, 0, 0, 0};
		gbl_contentPanel.columnWeights = new double[]{0.0, 0.0, 1.0, Double.MIN_VALUE};
		gbl_contentPanel.rowWeights = new double[]{1.0, 0.0, 0.0, 1.0, 0.0, 0.0, Double.MIN_VALUE};
		contentPanel.setLayout(gbl_contentPanel);
		{
			JLabel lblProduktHinzufgen = new JLabel("Produkt hinzuf\u00FCgen");
			GridBagConstraints gbc_lblProduktHinzufgen = new GridBagConstraints();
			gbc_lblProduktHinzufgen.anchor = GridBagConstraints.WEST;
			gbc_lblProduktHinzufgen.gridwidth = 3;
			gbc_lblProduktHinzufgen.insets = new Insets(0, 0, 5, 0);
			gbc_lblProduktHinzufgen.gridx = 0;
			gbc_lblProduktHinzufgen.gridy = 0;
			contentPanel.add(lblProduktHinzufgen, gbc_lblProduktHinzufgen);

			JLabel lblProduktname = new JLabel("Produktname:");
			GridBagConstraints gbc_lblProduktname = new GridBagConstraints();
			gbc_lblProduktname.anchor = GridBagConstraints.NORTHEAST;
			gbc_lblProduktname.insets = new Insets(0, 0, 5, 5);
			gbc_lblProduktname.gridx = 0;
			gbc_lblProduktname.gridy = 1;
			contentPanel.add(lblProduktname, gbc_lblProduktname);

			txtName = new JTextField();
			GridBagConstraints gbc_txtName = new GridBagConstraints();
			gbc_txtName.gridwidth = 2;
			gbc_txtName.insets = new Insets(0, 0, 5, 0);
			gbc_txtName.fill = GridBagConstraints.HORIZONTAL;
			gbc_txtName.gridx = 1;
			gbc_txtName.gridy = 1;
			contentPanel.add(txtName, gbc_txtName);
			txtName.setColumns(10);

			JLabel lblMenge = new JLabel("Menge:");
			GridBagConstraints gbc_lblMenge = new GridBagConstraints();
			gbc_lblMenge.anchor = GridBagConstraints.NORTHWEST;
			gbc_lblMenge.insets = new Insets(0, 0, 5, 5);
			gbc_lblMenge.gridx = 0;
			gbc_lblMenge.gridy = 2;
			contentPanel.add(lblMenge, gbc_lblMenge);

			txtMenge = new JTextField();
			GridBagConstraints gbc_txtMenge = new GridBagConstraints();
			gbc_txtMenge.gridwidth = 2;
			gbc_txtMenge.insets = new Insets(0, 0, 5, 0);
			gbc_txtMenge.fill = GridBagConstraints.HORIZONTAL;
			gbc_txtMenge.gridx = 1;
			gbc_txtMenge.gridy = 2;
			contentPanel.add(txtMenge, gbc_txtMenge);
			txtMenge.setColumns(10);

			JLabel lblBeschreibung = new JLabel("Beschreibung:");
			GridBagConstraints gbc_lblBeschreibung = new GridBagConstraints();
			gbc_lblBeschreibung.anchor = GridBagConstraints.NORTHWEST;
			gbc_lblBeschreibung.insets = new Insets(0, 0, 5, 5);
			gbc_lblBeschreibung.gridx = 0;
			gbc_lblBeschreibung.gridy = 3;
			contentPanel.add(lblBeschreibung, gbc_lblBeschreibung);

			JTextArea txtrBeschreibung = new JTextArea();
			txtrBeschreibung.setBorder(txtMenge.getBorder());
			txtrBeschreibung.setFont(txtMenge.getFont());
			txtrBeschreibung.setLineWrap(true);
			txtrBeschreibung.setWrapStyleWord(true);
			GridBagConstraints gbc_txtrBeschreibung = new GridBagConstraints();
			gbc_txtrBeschreibung.gridwidth = 2;
			gbc_txtrBeschreibung.insets = new Insets(0, 0, 5, 0);
			gbc_txtrBeschreibung.fill = GridBagConstraints.BOTH;
			gbc_txtrBeschreibung.gridx = 1;
			gbc_txtrBeschreibung.gridy = 3;
			contentPanel.add(txtrBeschreibung, gbc_txtrBeschreibung);

			JLabel lblKategorie = new JLabel("Kategorie:");
			GridBagConstraints gbc_lblKategorie = new GridBagConstraints();
			gbc_lblKategorie.anchor = GridBagConstraints.NORTHWEST;
			gbc_lblKategorie.insets = new Insets(0, 0, 5, 5);
			gbc_lblKategorie.gridx = 0;
			gbc_lblKategorie.gridy = 4;
			contentPanel.add(lblKategorie, gbc_lblKategorie);

			txtKategorie = new JTextField();
			GridBagConstraints gbc_txtKategorie = new GridBagConstraints();
			gbc_txtKategorie.gridwidth = 2;
			gbc_txtKategorie.insets = new Insets(0, 0, 5, 0);
			gbc_txtKategorie.fill = GridBagConstraints.HORIZONTAL;
			gbc_txtKategorie.gridx = 1;
			gbc_txtKategorie.gridy = 4;
			contentPanel.add(txtKategorie, gbc_txtKategorie);
			txtKategorie.setColumns(10);

			JLabel lblRestposten = new JLabel("Restposten:");
			GridBagConstraints gbc_lblRestposten = new GridBagConstraints();
			gbc_lblRestposten.anchor = GridBagConstraints.NORTHWEST;
			gbc_lblRestposten.insets = new Insets(0, 0, 0, 5);
			gbc_lblRestposten.gridx = 0;
			gbc_lblRestposten.gridy = 5;
			contentPanel.add(lblRestposten, gbc_lblRestposten);

			JRadioButton rdbtnJa = new JRadioButton("Ja");
			GridBagConstraints gbc_rdbtnJa = new GridBagConstraints();
			gbc_rdbtnJa.insets = new Insets(0, 0, 0, 5);
			gbc_rdbtnJa.gridx = 1;
			gbc_rdbtnJa.gridy = 5;
			contentPanel.add(rdbtnJa, gbc_rdbtnJa);

			JRadioButton rdbtnNein = new JRadioButton("Nein");
			GridBagConstraints gbc_rdbtnNein = new GridBagConstraints();
			gbc_rdbtnNein.anchor = GridBagConstraints.WEST;
			gbc_rdbtnNein.gridx = 2;
			gbc_rdbtnNein.gridy = 5;
			contentPanel.add(rdbtnNein, gbc_rdbtnNein);

			JPanel buttonPane = new JPanel();
			buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
			getContentPane().add(buttonPane, BorderLayout.SOUTH);
			{
				JButton okButton = new JButton("OK");
				okButton.addActionListener(new ActionListener() {
					@Override
					public void actionPerformed(ActionEvent e) {
						close(JOptionPane.OK_OPTION);
					}
				});
				buttonPane.add(okButton);
				getRootPane().setDefaultButton(okButton);
			}
			{
				JButton cancelButton = new JButton("Cancel");
				cancelButton.addActionListener(new ActionListener() {
					@Override
					public void actionPerformed(ActionEvent e) {
						close(JOptionPane.CANCEL_OPTION);
					}
				});
				buttonPane.add(cancelButton);
			}
		}
		setVisible(true);
	}
	private void close(int reason){
		this.reason=reason;
		dispose();
	}
	private int getReason(){
		return reason;
	}


	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		try {
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		AddProdukt dialog=new AddProdukt(null, true);
		if(dialog.getReason()==JOptionPane.OK_OPTION){
			System.out.println("User Pressed ok");
		}else{
			System.out.println("User Pressed cancel");
		}
	}
}

Gruß Simon

bei Fragen einfach Melden 🙂

Vielen Dank. Habe halt mit Online GUI Tutorials gearbeitet. Aber Swing sieht schon deutlich schöner aus.
 

Zurück
Oben