List of usage examples for com.google.gwt.user.client.ui Anchor setHref
public void setHref(String href)
From source file:at.ait.dme.yuma.client.image.annotation.ImageAnnotationTreeNode.java
License:EUPL
/** * adds the header information: user, date and rates *///from w w w .j a v a 2 s. c o m public void addHeader() { headerPanel.setStyleName("imageAnnotation-header"); if (annotation.getScope() == ImageAnnotation.Scope.PRIVATE) { privateAnnotation.setStyleName("imageAnnotation-private-annotation-image"); headerPanel.add(privateAnnotation); } headerUser.setText(annotation.getCreatedBy()); headerUser.setStyleName("imageAnnotation-header-user"); headerPanel.add(headerUser); if (annotation.getCreated() != null) { headerDate .setText("(" + DateTimeFormat.getShortDateTimeFormat().format(annotation.getModified()) + ")"); headerDate.setStyleName("imageAnnotation-header-date"); } headerPanel.add(headerDate); if (annotation.hasFragment()) { fragment.setStyleName("imageAnnotation-header-fragment"); headerPanel.add(fragment); } if (annotation.hasFragment() && (Application.getBbox() != null || Application.isInTileMode())) { mapAnnotation.setStyleName("imageAnnotation-header-map"); mapAnnotation.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { WindowPanel window = MinMaxWindowPanel.createMinMaxWindowPanel(550, 300, 500, 300); window.setWidget(new GoogleMapsComposite(annotation)); window.show(); } }); headerPanel.add(mapAnnotation); } // rate information not yet implemented /* * if(annotation.getRate()==null || annotation.getRate()==0) * rateValue.setStyleName("imageAnnotation-header-rate"); else * if(annotation.getRate()>0) * rateValue.setStyleName("imageAnnotation-header-rate-plus"); else * rateValue.setStyleName("imageAnnotation-header-rate-minus"); */ rateValue.setStyleName("imageAnnotation-header-rate"); rateValue.setText("+0"); annotationRatePanel.add(rateValue); rateMinus.setStyleName("imageAnnotation-header-rate-image-minus"); annotationRatePanel.add(rateMinus); ratePlus.setStyleName("imageAnnotation-header-rate-image-plus"); annotationRatePanel.add(ratePlus); if (Application.getFlaggedId() != null && Application.getFlaggedId().equals(annotation.getId())) { flag.setStyleName("imageAnnotation-header-flag-red-image"); flagged = true; } else { flag.setStyleName("imageAnnotation-header-flag-blue-image"); } Anchor flagAnchor = new Anchor(); flagAnchor.setHref(createFlagLink()); flagAnchor.setTarget("_blank"); flagAnchor.getElement().appendChild(flag.getElement()); annotationRatePanel.add(flagAnchor); headerPanel.add(annotationRatePanel); annotationPanel.add(headerPanel); // Init CSS style deselect(); }
From source file:burrito.client.widgets.panels.table.Table.java
License:Apache License
protected void renderTable() { // remove all previous rows for (int i = 1; i < table.getRowCount(); i++) { table.removeRow(i);/*from w w w.java 2s. c o m*/ } int leftMargin = 0; if (rowsSelectable) { leftMargin++; // add margin because of select box } table.resize(currentModel.size() + 1, this.numberOfColumns); int row = 1; for (final T obj : currentModel) { String[] names = table.getRowFormatter().getStyleName(row).split(" "); for (String style : names) { if (style.length() > 0) table.getRowFormatter().removeStyleName(row, style); } if (rowsSelectable) { final int thisRowAsFinal = row; CheckBox select = new CheckBox(); select.addValueChangeHandler(new ValueChangeHandler<Boolean>() { @Override public void onValueChange(ValueChangeEvent<Boolean> event) { if (event.getValue().booleanValue()) { table.getRowFormatter().addStyleName(thisRowAsFinal, "k5-Table-row-selected"); } else { table.getRowFormatter().removeStyleName(thisRowAsFinal, "k5-Table-row-selected"); } } }); table.setWidget(row, 0, select); } for (int column = 0; column < numberOfModelColumns; column++) { table.setWidget(row, column + leftMargin, cellRenderers.get(column).render(obj)); } table.getRowFormatter().addStyleName(row, "k5-Table-row"); if (row % 2 == 0) { table.getRowFormatter().addStyleName(row, "k5-Table-row-even"); } else { table.getRowFormatter().addStyleName(row, "k5-Table-row-odd"); } String rowStyle = rowStyle(row, obj); if (rowStyle != null) { table.getRowFormatter().addStyleName(row, rowStyle); } if (rowsOrderable && rowOrderHandler != null) { final int fRow = row; Anchor up = new Anchor(messages.up()); up.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { move(fRow - 1, -1); } }); up.addStyleName("k5-Table-order-up"); Anchor down = new Anchor(messages.down()); down.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { move(fRow - 1, 1); } }); down.addStyleName("k5-Table-order-down"); HorizontalPanel hp = new HorizontalPanel(); hp.add(up); hp.add(down); int rightMargin = 1; if (rowsEditable) { rightMargin++; } table.setWidget(row, numberOfColumns - rightMargin, hp); } if (rowsEditable && rowEditHandler != null) { Anchor edit = new Anchor(messages.edit()); String href = rowEditHandler.getHref(obj); if (href != null) { edit.setHref(href); } else { edit.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { rowEditHandler.onRowEditClicked(obj); } }); } table.setWidget(row, numberOfColumns - 1, edit); } row++; } }
From source file:com.dawg6.web.dhcalc.client.AboutDialog.java
License:Open Source License
public AboutDialog() { flexTable = new FlexTable(); flexTable.setBorderWidth(0);// w ww . j a va 2s.com flexTable.setCellPadding(5); initWidget(flexTable); Label lblNewLabel = new Label("DH DPS Calculator"); lblNewLabel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); lblNewLabel.setStyleName("boldText"); lblNewLabel.setWordWrap(false); flexTable.setWidget(0, 0, lblNewLabel); flexTable.getCellFormatter().setVerticalAlignment(0, 0, HasVerticalAlignment.ALIGN_TOP); flexTable.getCellFormatter().setHorizontalAlignment(0, 0, HasHorizontalAlignment.ALIGN_RIGHT); HorizontalPanel horizontalPanel = new HorizontalPanel(); horizontalPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE); horizontalPanel.setSpacing(5); horizontalPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); flexTable.setWidget(1, 0, horizontalPanel); Label lblNewLabel_1 = new Label("Version:"); horizontalPanel.add(lblNewLabel_1); versionLabel = new Label(Version.getVersionString()); horizontalPanel.add(versionLabel); flexTable.getCellFormatter().setHorizontalAlignment(1, 0, HasHorizontalAlignment.ALIGN_CENTER); HorizontalPanel horizontalPanel_1 = new HorizontalPanel(); horizontalPanel_1.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE); horizontalPanel_1.setSpacing(5); horizontalPanel_1.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); flexTable.setWidget(3, 0, horizontalPanel_1); Label lblWritteByDawg = new Label("Written By:"); horizontalPanel_1.add(lblWritteByDawg); Anchor label_1 = new Anchor("New label"); label_1.setTarget("_blank"); label_1.setText("dawg6"); label_1.setHref("http://us.battle.net/d3/en/profile/Dawg6-1416/"); horizontalPanel_1.add(label_1); Label lblNewLabel_2 = new Label("("); horizontalPanel_1.add(lblNewLabel_2); Anchor anchor_1 = new Anchor("New label"); anchor_1.setText("scott@dawg6.com"); anchor_1.setTarget("_blank"); anchor_1.setHref("mailto:scott@dawg6.com"); horizontalPanel_1.add(anchor_1); Label lblNewLabel_3 = new Label(")"); horizontalPanel_1.add(lblNewLabel_3); flexTable.getCellFormatter().setHorizontalAlignment(3, 0, HasHorizontalAlignment.ALIGN_CENTER); HorizontalPanel horizontalPanel_2 = new HorizontalPanel(); horizontalPanel_2.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE); horizontalPanel_2.setSpacing(5); horizontalPanel_2.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); flexTable.setWidget(5, 0, horizontalPanel_2); Label lblRedditThread = new Label("Reddit Thread:"); horizontalPanel_2.add(lblRedditThread); Anchor anchor = new Anchor("New label"); anchor.setTarget("_blank"); anchor.setText("http://redd.it/2jiynj"); anchor.setHref("http://redd.it/2jiynj"); horizontalPanel_2.add(anchor); flexTable.getCellFormatter().setHorizontalAlignment(5, 0, HasHorizontalAlignment.ALIGN_CENTER); HorizontalPanel horizontalPanel_3 = new HorizontalPanel(); horizontalPanel_3.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE); horizontalPanel_3.setSpacing(5); horizontalPanel_3.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); flexTable.setWidget(6, 0, horizontalPanel_3); Label lblBlizzardThread = new Label("Blizzard Thread:"); horizontalPanel_3.add(lblBlizzardThread); Anchor anchor_2 = new Anchor("New label"); anchor_2.setText("http://us.battle.net/d3/en/forum/topic/18706673688"); anchor_2.setTarget("_blank"); anchor_2.setHref("http://us.battle.net/d3/en/forum/topic/18706673688"); horizontalPanel_3.add(anchor_2); flexTable.getCellFormatter().setHorizontalAlignment(6, 0, HasHorizontalAlignment.ALIGN_CENTER); HorizontalPanel horizontalPanel_4 = new HorizontalPanel(); horizontalPanel_4.setSpacing(5); horizontalPanel_4.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); flexTable.setWidget(7, 0, horizontalPanel_4); Anchor anchor_3 = new Anchor("New label"); anchor_3.setText("Change Log"); anchor_3.setTarget("_blank"); anchor_3.setHref("changeLog.txt?v2"); horizontalPanel_4.add(anchor_3); Anchor anchor_4 = new Anchor("New label"); anchor_4.setText("To-do List"); anchor_4.setTarget("_blank"); anchor_4.setHref("https://github.com/dawg6/dhcalc/issues"); horizontalPanel_4.add(anchor_4); flexTable.getCellFormatter().setHorizontalAlignment(7, 0, HasHorizontalAlignment.ALIGN_CENTER); Anchor anchor_5 = new Anchor("Source Code"); anchor_5.setTarget("_blank"); anchor_5.setHref("https://github.com/dawg6/dhcalc"); horizontalPanel_4.add(anchor_5); flexTable.getCellFormatter().setHorizontalAlignment(7, 0, HasHorizontalAlignment.ALIGN_CENTER); }
From source file:com.dawg6.web.dhcalc.client.BuffPanel.java
License:Open Source License
public BuffPanel() { CaptionPanel cptnpnlNewPanel = new CaptionPanel("Follower Buffs"); initWidget(cptnpnlNewPanel);//from w ww . ja va 2 s .c om FlexTable flexTable = new FlexTable(); cptnpnlNewPanel.setContentWidget(flexTable); HorizontalPanel horizontalPanel = new HorizontalPanel(); horizontalPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE); horizontalPanel.setSpacing(5); flexTable.setWidget(0, 0, horizontalPanel); Label lblNewLabel = new Label("Enchantress"); horizontalPanel.add(lblNewLabel); Anchor anchor = new Anchor("Focused Mind:"); anchor.setTarget("_blank"); anchor.setHref("http://us.battle.net/d3/en/follower/enchantress/skill/focused-mind"); horizontalPanel.add(anchor); Label lblNewLabel_1 = new Label((String) null); horizontalPanel.add(lblNewLabel_1); focusedMind = new SimpleCheckBox(); flexTable.setWidget(0, 1, focusedMind); HorizontalPanel horizontalPanel_1 = new HorizontalPanel(); horizontalPanel_1.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE); horizontalPanel_1.setSpacing(5); flexTable.setWidget(1, 0, horizontalPanel_1); Label lblScoundrel = new Label("Scoundrel"); horizontalPanel_1.add(lblScoundrel); Anchor anchor_1 = new Anchor("Anatomy:"); anchor_1.setTarget("_blank"); anchor_1.setHref("http://us.battle.net/d3/en/follower/scoundrel/skill/anatomy"); horizontalPanel_1.add(anchor_1); anatomy = new SimpleCheckBox(); flexTable.setWidget(1, 1, anatomy); HorizontalPanel horizontalPanel_2 = new HorizontalPanel(); horizontalPanel_2.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE); horizontalPanel_2.setSpacing(5); flexTable.setWidget(2, 0, horizontalPanel_2); Label label = new Label("Scoundrel"); horizontalPanel_2.add(label); Anchor anchor_2 = new Anchor("Hysteria:"); anchor_2.setTarget("_blank"); anchor_2.setHref("http://us.battle.net/d3/en/follower/scoundrel/skill/hysteria"); horizontalPanel_2.add(anchor_2); hysteria = new SimpleCheckBox(); flexTable.setWidget(2, 1, hysteria); HorizontalPanel horizontalPanel_3 = new HorizontalPanel(); horizontalPanel_3.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE); horizontalPanel_3.setSpacing(5); flexTable.setWidget(3, 0, horizontalPanel_3); Label lblTemplar = new Label("Templar"); horizontalPanel_3.add(lblTemplar); Anchor anchor_3 = new Anchor("Hysteria:"); anchor_3.setHTML("Inspire:"); anchor_3.setText("Inspire:"); anchor_3.setTarget("_blank"); anchor_3.setHref("http://us.battle.net/d3/en/follower/templar/skill/inspire"); horizontalPanel_3.add(anchor_3); inspire = new SimpleCheckBox(); flexTable.setWidget(3, 1, inspire); }
From source file:com.dawg6.web.dhcalc.client.CDRPanel.java
License:Open Source License
private void updateSkills() { while (flexTable.getRowCount() > this.skillRow) { flexTable.removeRow(this.skillRow); }/*from w w w .jav a 2 s. com*/ int row = skillRow; for (Map.Entry<ActiveSkill, Rune> e : skills.entrySet()) { ActiveSkill skill = e.getKey(); Rune rune = e.getValue(); if ((skill == ActiveSkill.Companion) && (rune != Rune.Wolf) && (this.getSetCount(ItemSet.Marauders.getSlug()) >= 2)) rune = Rune.Wolf; double cd = skill.getCooldown(rune); if (cd > 0) { double duration = skill.getDuration(rune); Anchor a = new Anchor(skill.getLongName() + "/" + rune.getLongName()); a.setHref(skill.getUrl(rune)); flexTable.setWidget(row, 0, a); cd = cd * (1.0 - this.cdr); if ((skill == ActiveSkill.Vengeance) && this.isItem(SpecialItemType.Dawn)) { double d = this.getItemAttribute(SpecialItemType.Dawn, SpecialItemType.PERCENT); cd = cd * (1.0 - d); } double uptime; if (cd <= duration) uptime = 1.0; else uptime = duration / cd; Label l = new Label("Cooldown " + Util.format(Math.round(cd * 100.0) / 100.0) + "s"); flexTable.setWidget(row, 2, l); Label l2 = new Label("Uptime " + Util.format(Math.round(uptime * 10000.0) / 100.0) + "%"); flexTable.setWidget(row, 3, l2); row++; } } }
From source file:com.dawg6.web.dhcalc.client.GearPanel.java
License:Open Source License
@SuppressWarnings("unchecked") public GearPanel() { HorizontalPanel panel = new HorizontalPanel(); initWidget(panel);/* w w w. jav a 2s . co m*/ VerticalPanel verticalPanel_1 = new VerticalPanel(); panel.add(verticalPanel_1); CaptionPanel captionPanel = new CaptionPanel("Current Items"); verticalPanel_1.add(captionPanel); FlexTable table = new FlexTable(); captionPanel.add(table); CaptionPanel cptnpnlNewPanel = new CaptionPanel("Saved Items"); panel.add(cptnpnlNewPanel); VerticalPanel verticalPanel = new VerticalPanel(); cptnpnlNewPanel.setContentWidget(verticalPanel); verticalPanel.setSize("5cm", "3cm"); savedItems = new ListBox(); verticalPanel.add(savedItems); savedItems.setVisibleItemCount(20); savedItems.setWidth("100%"); HorizontalPanel horizontalPanel = new HorizontalPanel(); horizontalPanel.setSpacing(5); verticalPanel.add(horizontalPanel); Button btnNewButton = new Button("New button"); btnNewButton.setText("Rename..."); horizontalPanel.add(btnNewButton); btnNewButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { renameItem(); } }); Button btnNewButton_1 = new Button("New button"); btnNewButton_1.setText("Delete"); horizontalPanel.add(btnNewButton_1); btnNewButton_1.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { deleteItem(); } }); int row = 0; for (Slot slot : Slot.values()) if (!slot.isCube()) { final Slot thisSlot = slot; Label label = new Label(slot.name()); label.addStyleName("boldText"); table.setWidget(row, 0, label); Anchor status = new Anchor("unloaded"); status.setTarget("_blank"); status.setHref("javascript:void(0);"); table.setWidget(row, 1, status); labels.put(slot, status); status.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { event.preventDefault(); clickItem(thisSlot); } }); Button saveButton = new Button("save"); table.setWidget(row, 2, saveButton); saveButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { saveSlot(thisSlot); } }); Button replaceButton = new Button("replace"); table.setWidget(row, 3, replaceButton); replaceButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { replaceSlot(thisSlot); } }); Button clearButton = new Button("clear"); table.setWidget(row, 4, clearButton); clearButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { clearSlot(thisSlot); } }); row++; } Storage storage = getStorage(); if (storage != null) { String data = storage.getItem(SAVED_ITEMS); JsoArray<Entry> list = null; if (data != null) { list = JsonUtils.safeEval(data); } else { list = (JsoArray<Entry>) JavaScriptObject.createArray(); } for (int i = 0; i < list.length(); i++) { Entry e = list.get(i); savedItems.addItem(e.getName(), e.getItem()); } } setVisible(false); }
From source file:com.dawg6.web.dhcalc.client.GearPanel.java
License:Open Source License
private void setItem(Slot slot, final ItemHolder item) { final Anchor label = labels.get(slot); String text = "unloaded"; String url = "javascript:void(0);"; if (item != null) { items.put(slot, item);/* w w w . ja v a2 s. c om*/ url = "http://us.battle.net/d3/en/itemData/" + item.getTooltip(); if (this.isVisible()) { item.getInfo(new DefaultCallback<ItemInformation>() { @Override protected void doOnSuccess(ItemInformation result) { label.setText(result.name); } }); } } else { items.remove(slot); label.setText(text); } label.setHref(url); }
From source file:com.dawg6.web.dhcalc.client.GearPanel.java
License:Open Source License
public void updateLabels() { for (Slot s : Slot.values()) if (!s.isCube()) { final Anchor label = labels.get(s); ItemHolder item = items.get(s); if (item != null) { String url = "http://us.battle.net/d3/en/itemData/" + item.getTooltip(); label.setHref(url); item.getInfo(new DefaultCallback<ItemInformation>() { @Override/*from w w w. j a v a 2s . c o m*/ protected void doOnSuccess(ItemInformation result) { label.setText(result.name); } }); } else { label.setHref("javascript:void(0)"); label.setText("Empty"); } } }
From source file:com.dawg6.web.dhcalc.client.GemsPanel.java
License:Open Source License
public GemsPanel() { CaptionPanel captionPanel = new CaptionPanel("Legendary Gems"); initWidget(captionPanel);//from ww w .ja v a 2 s.c om table = new FlexTable(); captionPanel.setContentWidget(table); List<GemSkill> gems = new Vector<GemSkill>(); for (GemSkill gem : GemSkill.values()) gems.add(gem); Collections.sort(gems, new Comparator<GemSkill>() { @Override public int compare(GemSkill o1, GemSkill o2) { return o1.getDisplayName().toLowerCase().compareTo(o2.getDisplayName().toLowerCase()); } }); for (int i = 0; i < NUM_GEMS; i++) { final int row = i; Anchor anchor = new Anchor("Gem " + (i + 1)); anchor.setWordWrap(false); anchor.setTarget("_blank"); anchor.setHref("javascript:void(0)"); anchors.add(anchor); table.setWidget(row, 0, anchor); ListBox list = new ListBox(); list.addItem("None", ""); list.setWidth("100%"); table.setWidget(row, 1, list); listBoxes.add(list); list.setSelectedIndex(0); selected.add(null); for (GemSkill gem : gems) { list.addItem(gem.getDisplayName(), gem.name()); } list.addChangeHandler(new ChangeHandler() { @Override public void onChange(ChangeEvent event) { gemChanged(row); } }); Label label = new Label("Level:", false); table.setWidget(row, 2, label); NumberSpinner level = new NumberSpinner(); level.setMax(100); level.setVisibleLength(4); table.setWidget(row, 3, level); levels.add(level); level.addChangeHandler(new ChangeHandler() { @Override public void onChange(ChangeEvent event) { levelChanged(row); } }); attributes.add(null); } }
From source file:com.dawg6.web.dhcalc.client.GemsPanel.java
License:Open Source License
private boolean setGem(final int i, GemSkill gem, GemAttributeData gd) { if ((gem != null) && (gd == null)) { gd = new GemAttributeData(); gd.level = 0;//from w w w. j a va2s . c o m for (GemSkill.Attribute a : gem.getAttributes()) { gd.put(a.getLabel(), 0); } } boolean gemChanged = false; boolean valueChanged = false; ListBox list = listBoxes.get(i); GemSkill prev = selected.get(i); int next = 0; if (gem == null) { next = 0; } else { int num = list.getItemCount(); boolean found = false; for (int n = 1; n < num; n++) { String value = list.getValue(n); if (value.equals(gem.name())) { next = n; found = true; break; } } if (!found) { next = 0; gd = null; } } if (gem != prev) { list.setSelectedIndex(next); selected.set(i, gem); gemChanged = true; } NumberSpinner level = levels.get(i); int prevLevel = level.getValue(); int nextLevel = prevLevel; if (gem == null) { nextLevel = 0; } else { nextLevel = gd.level; } if (nextLevel != prevLevel) { level.setValue(nextLevel); valueChanged = true; } if (gemChanged) { Anchor anchor = anchors.get(i); if (gem == null) { anchor.setHref("javascript:void(0)"); } else { anchor.setHref(gem.getUrl()); } if (attributes.get(i) != null) { table.removeCell(i, 5); table.removeCell(i, 4); attributes.set(i, null); } if ((gem != null) && (gem.getAttributes() != null) && (gem.getAttributes().length > 0)) { // TODO Handle more than 1 Attribute per Gem Label label = new Label("# " + gem.getAttributes()[0].getLabel() + ":", false); NumberSpinner spinner = new NumberSpinner(); spinner.setMax(gem.getAttributes()[0].getMaxValue(gd.level)); spinner.setVisibleLength(4); table.setWidget(i, 4, label); table.setWidget(i, 5, spinner); attributes.set(i, spinner); spinner.setValue(gd.get(gem.getAttributes()[0].getLabel())); spinner.addChangeHandler(new ChangeHandler() { @Override public void onChange(ChangeEvent event) { attributeChanged(i); } }); } } else { if ((gem == null) || (gem.getAttributes() == null) || (gem.getAttributes().length == 0)) { // nothing changes } else { NumberSpinner a = attributes.get(i); int prevValue = a.getValue(); Integer nextValue = gd.get(gem.getAttributes()[0].getLabel()); if (nextValue != prevValue) { a.setValue(nextValue); valueChanged = true; } } } return gemChanged | valueChanged; }