Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   *  Copyright (c) 2011 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 GNU Lesser Public License v2.1
   *  which accompanies this distribution, and is available at
   *  http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
   *
   *  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.publication.attribute.panel;
 
 import java.awt.Color;
 
 
 
 public class AuthorsPanel extends JPanel implements ActionListener {
 
 	private static final long serialVersionUID = 8109825692298261311L;
 
 	private static final AttributeLabel AUTHORS_LABEL = new AttributeLabel(..getProperty("AUTHORS_LABEL"), ..getProperty("AUTHORS_TOOLTIP"));
 
 	private static final SmallButton OKAY_BUTTON = new SmallButton("OK");
 	private static final SmallButton ADD_BUTTON = new SmallButton("ADD AUTHOR");
 	private static final SmallButton REMOVE_BUTTON = new SmallButton("REMOVE AUTHOR");
 
 	private JTable table;
 
 	private static final String CORRESPONDING_AUTOR = "Corresponding author";
 	private static final String CONTRIBUTOR = "Contributor";
 
 	private static final String[] value = {  };
 
 	private static final String[] DEFAULT_AUTHOR_VALUE = new String[] { [0], """""Stadt Seeland, OT Gatersleben, Corrensstra├če 3""06466""Germany" };
 
 	// private static final String[] DEFAULT_CONTRIBUTOR_VALUE = new String[] {
 	// value[1], "", "", "Stadt Seeland, OT Gatersleben, Corrensstra├če 3",
 	// "06466", "Germany" };
 
 	private static final String[] COL_NAMES = { "Role""Given Name""Sure Name""Address""Zip""Country" };
 
 	public AuthorsPanel() {
 
 		 = new MyTableModel();
 		 = new JTable();
 
 		.getTableHeader().setBorder(BorderFactory.createMatteBorder(1, 1, 1, 1, .));
 
 
 		JComboBox<StringcomboRow = new JComboBox<String>();
 		comboRow.setModel();
 		col.setCellEditor(new DefaultCellEditor(comboRow));
		JPanel buttonPanel = new JPanel(new FlowLayout(.));
		buttonPanel.add();
		buttonPanel.add();
		buttonPanel.add();
		GridBagLayout grid = new GridBagLayout();
		JPanel tablePanel = new JPanel(grid);
		EmptyBorder inBorder = new EmptyBorder(5, 5, 0, 5);
		EmptyBorder outBorder = new EmptyBorder(5, 5, 0, 5);
		tablePanel.setBorder(BorderFactory.createCompoundBorder(outBorderinBorder));
		Utils.add(tablePanelgrid, 0, 0, 1, 1, 1, 0.95, 1, 1);
		Utils.add(tablePanelgridbuttonPanel, 0, 1, 1, 1, 1, 0.05, 1, 1);
		JPanel attributePanel = new JPanel(new GridLayout());
		this.setLayout(new BorderLayout());
		this.add(attributePanel.);
		this.add(tablePanel.);
	}
	public void actionPerformed(ActionEvent actionEvent) {
		if (actionEvent.getSource().equals()) {
			CellEditor cellEditor = .getCellEditor();
			if (cellEditor != null) {
				if (cellEditor.getCellEditorValue() == null) {
					cellEditor.stopCellEditing();
				}
			}
			/* clear(unselect) selected rows */
			/* remove rows without any name */
			ArrayList<IntegeremptyLines = new ArrayList<Integer>();
			for (int i = 0; i < this..getRowCount(); i++) {
				if (Utils.checkIfStringIsEmpty(this..getValueAt(i, 2).toString()) && Utils.checkIfStringIsEmpty(this..getValueAt(i, 1).toString())) {
					emptyLines.add(i);
				}
			}
			for (int i = emptyLines.size() - 1; i >= 0; i--) {
				this..removeRow(emptyLines.get(i));
			}
			PublicationMainPanel.releaseAllBlockedFields();
			PublicationFrame.updateUI();
			PublicationModul.getFrame().requestFocusInWindow();
else if (actionEvent.getSource().equals()) {
			boolean correspondingAuthorSetted = false;
			for (int i = 0; i < this..getRowCount(); i++) {
				if (this..getValueAt(i, 0).toString().equals([0].toString())) {
					correspondingAuthorSetted = true;
					break;
				}
			}
			if (this..getSelectedRow() != -1) {
				if (correspondingAuthorSetted) {
					this..insertRow(this..getSelectedRow() + 1, new String[] { [1], """"this..getValueAt(this..getSelectedRow(), 3).toString(), this..getValueAt(this..getSelectedRow(), 4).toString(), this..getValueAt(this..getSelectedRow(), 5).toString() });
else {
					this..insertRow(this..getSelectedRow() + 1, new String[] { [0], """"this..getValueAt(this..getSelectedRow(), 3).toString(), this..getValueAt(this..getSelectedRow(), 4).toString(), this..getValueAt(this..getSelectedRow(), 5).toString() });
				}
else {
				if (correspondingAuthorSetted) {
					this..addRow(new String[] { [1], """"this..getValueAt(this..getRowCount() - 1, 3).toString(), this..getValueAt(this..getRowCount() - 1, 4).toString(), this..getValueAt(this..getRowCount() - 1, 5).toString() });
else {
					if (this..getRowCount() != 0) {
						this..addRow(new String[] { [0], """"this..getValueAt(this..getRowCount() - 1, 3).toString(), this..getValueAt(this..getRowCount() - 1, 4).toString(), this..getValueAt(this..getRowCount() - 1, 5).toString() });
else {
					}
				}
			}
		}
		else if (actionEvent.getSource().equals()) {
			if (this..getRowCount() != 0) {
				if (this..getSelectedRow() != -1) {
else {
					this..removeRow(this..getRowCount() - 1);
				}
			}
		}
	}
	private class MyTableModel extends DefaultTableModel {
		private static final long serialVersionUID = 8557354261856948625L;
		private Object[][] data = {  };
		public MyTableModel() {
		}
	}
	private String getTableContent() {
		if (this.getCreators().length == 0) {
		}
		String authorSeperator = new String("; ");
		String nameSeperator = new String(", ");
		StringBuffer buffer = new StringBuffer("");
		for (int i = 0; i < this..getRowCount(); i++) {
			if (!Utils.checkIfStringIsEmpty(this..getValueAt(i, 2).toString()) && !Utils.checkIfStringIsEmpty(this..getValueAt(i, 1).toString())) {
				buffer.append(this..getValueAt(i, 2).toString());
				buffer.append(nameSeperator);
				buffer.append(this..getValueAt(i, 1).toString());
				buffer.append(authorSeperator);
			}
			else if (!Utils.checkIfStringIsEmpty(this..getValueAt(i, 1).toString())) {
				buffer.append(this..getValueAt(i, 1).toString());
				buffer.append(authorSeperator);
else if (!Utils.checkIfStringIsEmpty(this..getValueAt(i, 2).toString())) {
				buffer.append(this..getValueAt(i, 2).toString());
				buffer.append(authorSeperator);
else {
				// nothing
			}
		}
		if (buffer.toString().lastIndexOf(authorSeperator) != -1) {
			return buffer.toString().substring(0, buffer.toString().lastIndexOf(authorSeperator));
else {
		}
	}
	public NaturalPerson[] getCreators() {
		for (int i = 0; i < this..getRowCount(); i++) {
				creators.add(new NaturalPerson(this..getValueAt(i, 1).toString(), this..getValueAt(i, 2).toString(), this..getValueAt(i, 3).toString(), this..getValueAt(i, 4).toString(), this..getValueAt(i, 5).toString()));
			}
		}
		return creators.toArray(new NaturalPerson[creators.size()]);
	}
		for (int i = 0; i < this..getRowCount(); i++) {
			if (this..getValueAt(i, 0).toString().equals()) {
				contributors.add(new NaturalPerson(this..getValueAt(i, 1).toString(), this..getValueAt(i, 2).toString(), this..getValueAt(i, 3).toString(), this..getValueAt(i, 4).toString(), this..getValueAt(i, 5).toString()));
			}
		}
		return contributors.toArray(new NaturalPerson[contributors.size()]);
	}
	public String getAuthors() {
		String authorSeperator = new String("; ");
		String nameSeperator = new String(", ");
		StringBuffer buffer = new StringBuffer("");
		for (int i = 0; i < this..getRowCount(); i++) {
			if (this..getValueAt(i, 0).equals([0])) {
				if (!Utils.checkIfStringIsEmpty(this..getValueAt(i, 2).toString()) && !Utils.checkIfStringIsEmpty(this..getValueAt(i, 1).toString())) {
					buffer.append(this..getValueAt(i, 2).toString());
					buffer.append(nameSeperator);
					buffer.append(this..getValueAt(i, 1).toString());
					buffer.append(authorSeperator);
				}
				else if (!Utils.checkIfStringIsEmpty(this..getValueAt(i, 1).toString())) {
					buffer.append(this..getValueAt(i, 1).toString());
					buffer.append(authorSeperator);
else if (!Utils.checkIfStringIsEmpty(this..getValueAt(i, 2).toString())) {
					buffer.append(this..getValueAt(i, 2).toString());
					buffer.append(authorSeperator);
else {
					// do nothing
				}
			}
		}
		if (buffer.toString().lastIndexOf(authorSeperator) != -1) {
			return buffer.toString().substring(0, buffer.toString().lastIndexOf(authorSeperator));
else {
		}
	}
	public void reset() {
		this. = new MyTableModel();
		this. = new JTable(this.);
	}
New to GrepCode? Check out our FAQ X