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 Dimension SCROLLPANE_SIZE = new Dimension(
 
 	private static final AttributeLabel AUTHORS_LABEL = new AttributeLabel(
 			..getProperty("AUTHORS_LABEL"),
 			..getProperty("AUTHORS_TOOLTIP"));
 
 	private static final JButton OKAY_BUTTON = new JButton("OK");
 	private static final JButton ADD_BUTTON = new JButton("ADD AUTHOR");
 	private static final JButton REMOVE_BUTTON = new JButton("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[] {
 			[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() {
 
 		GridBagLayout grid = new GridBagLayout();
 
 		JPanel tablePanel = new JPanel(grid);
 
 
 		 = new MyTableModel();
 		 = new JTable();
 
				BorderFactory.createMatteBorder(1, 1, 1, 1, .));
		JComboBox<StringcomboRow = new JComboBox<String>();
		col.setCellEditor(new DefaultCellEditor(comboRow));
		JPanel buttonPanel = new JPanel(new FlowLayout(.));
		buttonPanel.add();
		buttonPanel.add();
		buttonPanel.add();
		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setPreferredSize(new Dimension(
		tablePanel.setPreferredSize(new Dimension(
		EmptyBorder inBorder = new EmptyBorder(5, 5, 0, 5);
		EmptyBorder outBorder = new EmptyBorder(5, 5, 0, 5);
		tablePanel.setBorder(BorderFactory.createCompoundBorder(outBorder,
				inBorder));
		Utils.add(tablePanelgridscrollPane, 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());
		attributePanel.setPreferredSize(new Dimension(
		this.setBorder(new MatteBorder(0, 0, 1, 0, .));
		GridBagLayout gridbaglayout = new GridBagLayout();
		this.setLayout(gridbaglayout);
		Utils.add(thisgridbaglayoutattributePanel, 0, 0, 1, 1, 0.05, 1, 50,
				10);
		Utils.add(thisgridbaglayouttablePanel, 1, 0, 1, 1, 0.95, 1, 50, 10);
	}
	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)
								1).toString())) {
					emptyLines.add(i);
				}
			}
			for (int i = emptyLines.size() - 1; i >= 0; i--) {
				this..removeRow(emptyLines.get(i));
			}
			PublicationMainPanel.releaseAllBlockedFields();
			PublicationMainPanel.getMainPanel().remove(
			PublicationMainPanel.getMainPanel().add(
			PublicationFrame.updateUI();
			PublicationModul.getFrame().requestFocusInWindow();
else if (actionEvent.getSource().equals()) {
			boolean authorSetted = false;
			for (int i = 0; i < this..getRowCount(); i++) {
				if (this..getValueAt(i, 0).toString()
					authorSetted = true;
					break;
				}
			}
			if (this..getSelectedRow() != -1) {
				if (authorSetted) {
else {
				}
else {
				if (authorSetted) {
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)
					&& !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++) {
			if (this..getValueAt(i, 0).toString()
				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)
								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