Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (c) 2014 Leibniz Institute of Plant Genetics and Crop Plant Research (IPK), Gatersleben, Germany.
   * All rights reserved. This program and the accompanying materials
   * are made available under the terms of the Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)
   * which accompanies this distribution, and is available at http://creativecommons.org/licenses/by-nd/4.0/
   *
   * Contributors:
   *      Leibniz Institute of Plant Genetics and Crop Plant Research (IPK), Gatersleben, Germany - RMI Client, FileChooser and WebDAV
   */
 package de.ipk_gatersleben.bit.bi.edal.rmi.client.gui.editor;
 
 import java.awt.Color;
 import java.util.Set;
 
 
The PersonDialog can be used to edit Person, which implements the MetadataeditDialog class, we can use it with a couple of lines of code:

 PersonDialog personDialog = new PersonDialog(person);
 personDialog.showOpenDialog();
 

Author(s):
Jinbo Chen
Version:
1.0
 
 public class PersonsDialog extends MetaDataEditDialog {
 	private static final long serialVersionUID = 1L;
 
 	private static final String NATURALPERSON = "NaturalPerson";
 	private static final String LEGALPERSON = "LegalPerson";
 
 	private static final String[] value = {  };
 
 	private JTable table;
 	private Persons persons;
 
 	private static final JButton ADD_BUTTON = new JButton("Add Person");
 	private static final JButton REMOVE_BUTTON = new JButton("Remove Person");
 	private static final String[] DEFAULT_CONTRIBUTOR_VALUE = new String[] {
 			[0], """""""Corrensstra├če 3""06466""Germany" };
 
 	private static final Set<Integerlegalrows = new HashSet<Integer>();

Constructs a PersonDialog that is initialized with person.

Parameters:
persons de.ipk_gatersleben.bit.bi.edal.primary_data.metadata.Persons object to show in PersonDialog
 
 	public PersonsDialog(Persons personsString title) {
 		super();
 
 		this. = persons;
 
 		setTitle(title);
 
 		JPanel contents = (JPanelgetContentPane();
 		contents.setLayout(new BorderLayout());
 
 		final JPanel editPane = new JPanel(new BorderLayout());
 
		.addColumn("Persontype");
		.addColumn("Givenname");
		.addColumn("Surname");
		.addColumn("Legalname");
		.addColumn("Address");
		.addColumn("Country");
		 = new JTable();
		// col.setCellEditor(new DefaultCellEditor(comboRow));
		col.setMinWidth(90);
		JPanel buttonPanel = new JPanel(new FlowLayout(.));
		buttonPanel.add();
		buttonPanel.add();
			public void actionPerformed(ActionEvent e) {
			}
		});
			public void actionPerformed(ActionEvent e) {
				if (.getRowCount() != 0) {
					if (.getSelectedRow() != -1) {
else {
					}
				}
			}
		});
		JScrollPane scrollPane = new JScrollPane();
		// scrollPane.setPreferredSize(new Dimension(500, 160));
		editPane.add(scrollPane.);
		editPane.add(buttonPanel.);
		contents.add(editPane.);
		editPane.setBorder(BorderFactory.createTitledBorder(""));
		this.setPreferredSize(new Dimension(720, (int) (720 * 0.618)));
		this.setMinimumSize(new Dimension(720, (int) (720 * 0.618)));
	}
	public void initdata() {
		String[] locales = Locale.getISOCountries();
		String[] countrynames = new String[locales.length];
		for (int i = 0; i < locales.lengthi++) {
			Locale obj = new Locale(""locales[i]);
			/*
			 * System.out.println("Country Code = " + obj.getCountry() +
			 * ", Country Name = " + obj.getDisplayCountry());
			 */
			countrynames[i] = obj.getDisplayCountry();
		}
		Arrays.sort(countrynames);
		col.setCellEditor(new PersonTableCellEditor(countrynamesfalse));
		/*
		 * JTableHeader header = table.getTableHeader();
		 * header.setResizingColumn(col); col.setWidth(80);
		 */
		if ( != null) {
			for (Person person : ) {
							new String[] { ,									
									""person.getAddressLine(),
									person.getZip(), person.getCountry() });
else {
					int row = .getRowCount();
							new String[] { """",
									person.getAddressLine(), person.getZip(),
									person.getCountry() });
				}
			}
		}
		//UiUtil.fitTableColumns(table);
	}


Returns the Person inputted by user.

Returns:
the Person inputted by user.
	public Persons getPerson() {
		Persons persons = new Persons();
		for (int i = 0; i < this..getRowCount(); i++) {
			if (this..getValueAt(i, 0).toString().equals("LegalPerson")) {
				LegalPerson person = new LegalPerson(this.
						.getValueAt(i, 3).toString(), this..getValueAt(i,
						4).toString(), this..getValueAt(i, 5).toString(),
						this..getValueAt(i, 6).toString());
				persons.add(person);
else {
						i, 1).toString(), this..getValueAt(i, 2)
						.toString(), this..getValueAt(i, 4).toString(),
						this..getValueAt(i, 5).toString(), this.
								.getValueAt(i, 6).toString());
				persons.add(person);
			}
		}
		return persons;
	}
	public void refreshcolor() {
		for (int i = 0; i < this..getRowCount(); i++) {
			if (this..getValueAt(i, 0).toString().equals("LegalPerson")) {
				.setValueAt(""i, 1);
				.setValueAt(""i, 2);
else {
				.setValueAt(""i, 3);
			}
		}
	}
	public JTable getTable() {
		return ;
	}
	private class ReadonlyRenderer extends DefaultTableCellRenderer implements
		private static final long serialVersionUID = 1L;
		private static final int SIZE = 32;
		private int row;
		private int column;
		public ReadonlyRenderer() {
			this.setIcon(this);
		}
				Object valueboolean isSelectedboolean hasFocusint row,
				int column) {
			Component cell = super.getTableCellRendererComponent(tablevalue,
					isSelectedhasFocusrowcolumn);
			/*
			 * if(legalrows.contains(row)) { if(column==1 || column==2) {
			 * cell.setBackground(Color.RED); } else {
			 * cell.setBackground(Color.GREEN); } } else { if(column==3) {
			 * cell.setBackground(Color.RED); } else {
			 * cell.setBackground(Color.GREEN); } }
			 */
			this. = row;
			this. = column;
			return cell;
		}
		protected void setValue(Object value) {
			setText((value == null) ? "" : value.toString());
		}
		public void paintIcon(Component cGraphics gint xint y) {
				if ( == 1 ||  == 2) {
					drawreadonlyline(gxy);
else {
					drawreadonlytext(gxy);
				}
else {
				if ( == 3) {
					drawreadonlyline(gxy);
else {
					drawreadonlytext(gxy);
				}
			}
		}
		public int getIconWidth() {
			return ;
		}
		public int getIconHeight() {
			return ;
		}
		private void drawreadonlyline(Graphics gint xint y) {
			Graphics2D g2d = (Graphics2Dg;
			g2d.setStroke(new BasicStroke(2f));
			g2d.drawLine(x - yx + this.getWidth(), y + this.getHeight()
					+ 2);
		}
		private void drawreadonlytext(Graphics gint xint y) {
		}
	}