Mistři v programování na #hovnokod

Java #3476

V grafické komponentě dialogu se nacházejí 2 radio buttony. Pokud je vybraný jeden, tak lze zaškrtávat checkboxy "elapsed", "pending", "active", pokud je vybraný druhý, tak lze zadávat datum do textfieldu "valDate". V aplikaci se logika nachází jinde a úplně stačí vědět, co bylo vybráno po stisknutí tlačítka OK, kdy se dialog zavře, a hodnoty nasetovat do inputů po kliknutí na OK. Místo toho nějaký umělec použije metody focusLost a actionPerformed celého panelu a zkoumá zdroj, aby mohl měnit inputy hned v době kliknutí. A to pomíjím fakt, že tady by se tato logika nacházet opravdu neměla.

	public void actionPerformed(ActionEvent e) {
		IScreenComponent comp = (IScreenComponent)e.getSource();
		if ( (comp.getName().equals("elapsed")) || (comp.getName().equals("pending")) ||
			(comp.getName().equals("active")) ) {
				setInputsParams();
		}
	}

	public void focusLost(FocusEvent e) {
		log.debug("focus lost");
		Object obj = e.getSource();
		if (obj instanceof GDFDateSimpleTextField) {		//table unfocused
			GDFDateSimpleTextField dateEdit = (GDFDateSimpleTextField)obj;
				if(dateEdit.getName().equalsIgnoreCase("valDate")) {
					this.getInputs().setParameter("DATE_TO_INPUT", dateEdit.getDataValue(), 3);
					this.getInputs().setParameter("DATE_FROM_INPUT", dateEdit.getDataValue(), 3);
					this.getInputs().setParameter("ACTIVE_INPUT", "", 3);
				}		
			}
		
		}

Anonymous,