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

}
 

Foxei

Bekanntes Mitglied
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

Feras

Aktives Mitglied
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.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Jose05 Javafx Label Höhe=Breite AWT, Swing, JavaFX & SWT 1
W JavaFX Button - optimale Breite berechnen AWT, Swing, JavaFX & SWT 1
J Gridpane Breite in Scrollpane automatisch anpassen AWT, Swing, JavaFX & SWT 2
G JavaFX - bugs bei der ermittlung der breite der nodes AWT, Swing, JavaFX & SWT 3
G Rectangle Breite richtet such an die Breite vom Text AWT, Swing, JavaFX & SWT 1
R Java FX - Fxml - relative Größenangaben für Breite und Höhe einer TextArea AWT, Swing, JavaFX & SWT 8
C JavaFX TableColumn - TableColumn Breite AWT, Swing, JavaFX & SWT 8
D Swing Breite einer HTML Tabelle in einer JTextPane AWT, Swing, JavaFX & SWT 6
Z Java Draw -JFrame finde nicht die Mitte & höhe, breite AWT, Swing, JavaFX & SWT 7
T Swing JScrollPane in JPanel - Breite dynamisch, Höhe fix - wie? AWT, Swing, JavaFX & SWT 2
A trotz setSize keine breite AWT, Swing, JavaFX & SWT 4
M Wie ermittele ich die Breite und Höhe meines Displays in Pixel AWT, Swing, JavaFX & SWT 3
K JSpinner in passender Breite erstellen oder automatisch anpassen AWT, Swing, JavaFX & SWT 2
E Breite eines JButton dynamisch ändern AWT, Swing, JavaFX & SWT 3
S JTable Spalte "normale" Breite? AWT, Swing, JavaFX & SWT 5
N Swing Optimale Höhe eine JTextPanes bei festgelegter Breite bestimmen AWT, Swing, JavaFX & SWT 23
L TreeViewerColumn - gesamte TreeView-breite nutzen? AWT, Swing, JavaFX & SWT 5
M 2 Buttons mit derselben Breite AWT, Swing, JavaFX & SWT 9
4 Shapes Informationen wie Breite usw. mitgeben AWT, Swing, JavaFX & SWT 5
B JFileChooser breite der Spalten? AWT, Swing, JavaFX & SWT 5
B Label breite ermitteln vor dem rendern? AWT, Swing, JavaFX & SWT 7
A FormLayout Panel-Breite AWT, Swing, JavaFX & SWT 7
Dit_ Swing JComboBox | Breite des Scrollbalkens AWT, Swing, JavaFX & SWT 4
D JFreeChart Breite (width) ändern AWT, Swing, JavaFX & SWT 6
Rudolf Swing Swing Button breite stanardisieren AWT, Swing, JavaFX & SWT 2
N Swing JPanel Nur Breite festlegen AWT, Swing, JavaFX & SWT 7
M breite eines "drawString()-Strings" AWT, Swing, JavaFX & SWT 2
F JTabbedPane Reiter breite AWT, Swing, JavaFX & SWT 4
F 2D-Grafik Problem mit höhe||breite eines JFrames AWT, Swing, JavaFX & SWT 4
M SWT Breite von Textfeld nur ohne Layout änderbar AWT, Swing, JavaFX & SWT 2
E Wie Breite und Höhe eines Panels festlegen? AWT, Swing, JavaFX & SWT 5
H SWT Breite von componenten zu bestimmen AWT, Swing, JavaFX & SWT 2
S JSlider Track Breite und Farbe AWT, Swing, JavaFX & SWT 2
N breite von JList festlegen AWT, Swing, JavaFX & SWT 3
E Layoutmanager mit fester Breite gesucht AWT, Swing, JavaFX & SWT 9
reibi SWT Breite Taskleiste herausfinden AWT, Swing, JavaFX & SWT 2
C Breite JTextArea/JScrollPane setzen AWT, Swing, JavaFX & SWT 4
S Swing JTable: Spalten mit relativer Breite im ungleichmäßigen Verhältnis AWT, Swing, JavaFX & SWT 2
M Swing JTable + JScrollPane (Breite und Höhenproblem) AWT, Swing, JavaFX & SWT 1
S Für Breite und Höhe werden 0.0 angezeigt AWT, Swing, JavaFX & SWT 2
C Swing JTextArea mit fester Breite und angepasster Höhe??? AWT, Swing, JavaFX & SWT 8
S Table oder TableModel so ueberschreiben, dass Columns minimale Breite haben? AWT, Swing, JavaFX & SWT 2
D JtoolBar feste Breite ? AWT, Swing, JavaFX & SWT 13
P Breite und Höhe des contentPane abfragen AWT, Swing, JavaFX & SWT 3
Y Einzigartigkeit des GridBagLayout - individuelle Höhe/Breite AWT, Swing, JavaFX & SWT 4
J JTextPane mit genau 80 Zeichen breite definieren? AWT, Swing, JavaFX & SWT 3
T Breite des Containers ist gegeben - wie die Höhe berechnen? AWT, Swing, JavaFX & SWT 3
V Swing: Konstant breite Sidebar AWT, Swing, JavaFX & SWT 2
D Breite eines JScrollPane AWT, Swing, JavaFX & SWT 3
B Feste Breite einer JTextPane, die HTML anzeigt AWT, Swing, JavaFX & SWT 8
G JMenu problem mit der Breite von einer JCheckBox AWT, Swing, JavaFX & SWT 2
A JTextFiled-Breite und Höhe ändern AWT, Swing, JavaFX & SWT 3
B horizontale bzw. vertikale JScrollBar breite von JScrollPane AWT, Swing, JavaFX & SWT 5
S JTable - Breite der Linien AWT, Swing, JavaFX & SWT 8
D GridBagLayout: 2. Spalte auf JPanel-Breite expandieren AWT, Swing, JavaFX & SWT 2
S Feste Breite und Höhe für einen formatierten Text. AWT, Swing, JavaFX & SWT 5
F JTable: Spaltenbreiten an Breite der Zelleninhalte anpassen AWT, Swing, JavaFX & SWT 5
lhein Breite der Scrollbar in einer Combobox ändern AWT, Swing, JavaFX & SWT 5
G Klasse Image - Höhe und Breite ermitteln AWT, Swing, JavaFX & SWT 12
Z Column Breite in JTable automatisch an Inhalt anpassen AWT, Swing, JavaFX & SWT 3
R Breite von JTextField in einem GridBagLayout begrenzen AWT, Swing, JavaFX & SWT 3
P Breite eines JScrollbar vergrößern, aber wie? AWT, Swing, JavaFX & SWT 8
B JEditorPane: Höhe für bestimmte Breite bestimmen AWT, Swing, JavaFX & SWT 4
K JTextfield - breite AWT, Swing, JavaFX & SWT 3
S JPanel in JScrollPane in der Breite begrenzen AWT, Swing, JavaFX & SWT 3
K Höhe und Breite eines Panels im GridBagLayout ermitteln AWT, Swing, JavaFX & SWT 9
M Breite veraendern zwischen 2 JPanels AWT, Swing, JavaFX & SWT 2
D JLabel mit fester Breite und beliebiger Höhe AWT, Swing, JavaFX & SWT 4
L wie kann man die Höhe und Breite von JList festlegen AWT, Swing, JavaFX & SWT 3
MartinNeuerlich Kann mir jemand, der einen Mac mit einem m1 oder m2-Chip hat, eine POM geben mit der Javafx-Fullscreen beim Mac mit m-Chip funktioniert? AWT, Swing, JavaFX & SWT 1
berserkerdq2 Wie greife ich auf ein Element zu, welches ich beim Scenebuilder erstellt habe AWT, Swing, JavaFX & SWT 10
H AWT Dialog Größe ändern - Schwarzer Inhalt beim groß ziehen AWT, Swing, JavaFX & SWT 1
L jComboBox Actionlistener wird beim erstmaligen Befüllen getriggert AWT, Swing, JavaFX & SWT 7
B Output GUI funktioniert nur beim ersten Mal richtig. AWT, Swing, JavaFX & SWT 4
A JavaFX exportierte Jar ohne beim starten die Libs hinzufügen? AWT, Swing, JavaFX & SWT 2
TheWhiteShadow JavaFX ListView Problem beim Entfernen von Elementen AWT, Swing, JavaFX & SWT 1
S Fehler beim Öffnen weiterer FXML AWT, Swing, JavaFX & SWT 11
I Probleme beim Drucken auf einen PDF-Drucker AWT, Swing, JavaFX & SWT 8
G Gui updated beim zweiten Aufruf nicht mehr AWT, Swing, JavaFX & SWT 15
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
W Nullpointer Exception beim übertragen von Daten von Scene zu Scene AWT, Swing, JavaFX & SWT 6
missy72 JavaFX Wiederholen einer IF-Abfrage beim erneuten Öffnen einer Stage AWT, Swing, JavaFX & SWT 11
D JavaFX Probleme beim nachtäglichen hinzufügen der jfx dependency AWT, Swing, JavaFX & SWT 7
R NullPointerException beim Start des Fensters AWT, Swing, JavaFX & SWT 1
D JavaFX Label flackert beim aktualisieren AWT, Swing, JavaFX & SWT 12
J Kann mir jemand beim MediaPlayer helfen ? AWT, Swing, JavaFX & SWT 2
S JavaFx Zufallsfarbe beim Button-Klick AWT, Swing, JavaFX & SWT 22
L Swing JDialog ton beim klicken ausstellen AWT, Swing, JavaFX & SWT 1
sascha-sphw JavaFX ListCell höhe verändert sich beim ändern der Text-Farbe AWT, Swing, JavaFX & SWT 14
H Beim JFrame erstellen ein anderes schließen AWT, Swing, JavaFX & SWT 0
L Swing JLabel wird beim ändern der Schriftart immer neu gezeichnet. AWT, Swing, JavaFX & SWT 2
M AWT Kann meinen Fehler beim ActionListener nicht finden AWT, Swing, JavaFX & SWT 5
R 2D-Grafik Massive Frame Drops beim Benutzen von AffineTransformOp AWT, Swing, JavaFX & SWT 2
ruutaiokwu Swing windowStateChanged macht exakt das Gegenteil beim Verändern der Fenstergrösse AWT, Swing, JavaFX & SWT 3
J Exception beim JFrame erstellen AWT, Swing, JavaFX & SWT 6
B 2D-Grafik paintcomponent Probleme beim zeichnen AWT, Swing, JavaFX & SWT 10
D JInternalFrame wechselt Position beim ersten Click AWT, Swing, JavaFX & SWT 0
steven789hjk543 Swing Verstehe etwas beim GUI nicht AWT, Swing, JavaFX & SWT 3
L JavaFX Probleme beim Installieren JavaFX11 / JavaFX12 -- Eclipse 2019-03 AWT, Swing, JavaFX & SWT 3
H JavaFX Probleme Beim Wechseln der scene als .fxml AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben