public PanelAdquirirHabilidades() { Column col = new Column(); col.setInsets(new Insets(10, 10, 10, 10)); col.setCellSpacing(new Extent(10)); Row row = new Row(); row.setCellSpacing(new Extent(10)); row.setAlignment(Alignment.ALIGN_CENTER); // ---------------------------------------- // Carga las Habilidades Disponibles // ---------------------------------------- tableDtaModel = new TestTableModel(); try { tableDtaModel = HabilidadesAnillo.obtenerHabilidadesCompra( // atrib.getPersonaje(), tableDtaModel); } catch (Exception e) { e.printStackTrace(); } col.add(PanelConstructor.initTopRow("Habilidades Disponibles")); col.add(PanelConstructor.initTable(tableDtaModel, initTableColModel(), true)); Button btnAtras = new Button("Atrás"); btnAtras.setStyle(Estilo.getStyleColor(app.getAtributos())); btnAtras.setWidth(new Extent(160)); btnAtras.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent evt) { btnAtrasClicked(); } }); row.add(btnAtras); Button btnAdquirirHabilidad = new Button("Adquirir Habilidad"); btnAdquirirHabilidad.setStyle(Estilo.getStyleColor(app.getAtributos())); btnAdquirirHabilidad.setWidth(new Extent(160)); btnAdquirirHabilidad.setAlignment(Alignment.ALIGN_CENTER); btnAdquirirHabilidad.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent evt) { btnAdquirirHabilidadClicked(); } }); row.add(btnAdquirirHabilidad); col.add(row); add(col); }
/** * Creates a new word editor form. * * @param parentWindow The parent window. * @param actionListener The action-listener. */ public WordEditorForm(WindowPane parentWindow, ActionListener actionListener) { this.parentWindow = parentWindow; this.actionListener = actionListener; Column borderCol = new Column(); borderCol.setBorder(new Border(1, Color.BLACK, Border.STYLE_INSET)); Grid grid = new Grid(1); grid.setRowHeight(0, new Extent(parentWindow.getHeight().getValue() - 160)); grid.setRowHeight(1, new Extent(30)); column = new Column(); column.setInsets(new Insets(10, 20, 0, 0)); column.setCellSpacing(new Extent(10)); GridLayoutData gridLayout = new GridLayoutData(); gridLayout.setAlignment(new Alignment(Alignment.LEFT, Alignment.TOP)); column.setLayoutData(gridLayout); grid.add(column); explanationRow = new Row(); column.add(explanationRow); Row footerRow = new Row(); footerRow.setInsets(new Insets(10, 0, 0, 0)); String l = "* " + LocaleResources.getString("preditor_wordeditor_required"); footerRow.add(new Label(l, Font.ITALIC, 11)); grid.add(footerRow); buttonBar = new Row(); buttonBar.setAlignment(new Alignment(Alignment.RIGHT, Alignment.CENTER)); buttonBar.setInsets(new Insets(10, 10, 10, 10)); buttonBar.setCellSpacing(new Extent(5)); grid.add(buttonBar); addButton("general_action_ok"); addButton("general_action_cancel"); borderCol.add(grid); add(borderCol); }
/** * Creates and returns the GUI component of this menu block column. * * @param width The width of the column. * @return The GUI component. */ public Column createGUI(int width) { Column column = new Column(); column.setCellSpacing(new Extent(10)); int totalUnits = 18; int unitsRest = totalUnits - (2 * contents.size()); int freeUnits = unitsRest; int freeBlocksCount = contents.size(); double avHeightUnits = (double) unitsRest / contents.size(); boolean overfull = totalUnits - heightUnits < 0; boolean even = true; for (MenuBlockContent c : contents) { if (overfull && c.getUnfilteredItemCount() <= avHeightUnits) { even = false; break; } else if (!overfull && c.getUnfilteredItemCount() >= avHeightUnits) { even = false; break; } } if (!even && overfull) { List<MenuBlockContent> largeContents = new ArrayList<MenuBlockContent>(contents); boolean changed; do { changed = false; int i = 0; while (i < largeContents.size()) { MenuBlockContent c = largeContents.get(i); if (avHeightUnits > c.getUnfilteredItemCount()) { changed = true; freeUnits -= c.getUnfilteredItemCount(); freeBlocksCount--; largeContents.remove(c); } else { i++; } } avHeightUnits = (double) freeUnits / freeBlocksCount; } while (changed); } else if (!even) { freeUnits = totalUnits - heightUnits; } for (int i = 0; i < contents.size(); i++) { MenuBlockContent c = contents.get(i); int cs = preditor.getMenuCreator().getColorShift(c.getName()); int heightUnits; boolean isLast = (i == contents.size() - 1); if (isLast) { heightUnits = unitsRest; } else if (even) { heightUnits = (int) ((double) freeUnits / freeBlocksCount + 0.999); freeUnits -= heightUnits; freeBlocksCount--; } else if (overfull) { if (avHeightUnits > c.getUnfilteredItemCount()) { heightUnits = c.getUnfilteredItemCount(); } else { heightUnits = (int) ((double) freeUnits / freeBlocksCount + 0.999); freeUnits -= heightUnits; freeBlocksCount--; } } else { int extraCols = (int) ((double) freeUnits / (contents.size() - i) + 0.999); heightUnits = c.getUnfilteredItemCount() + extraCols; freeUnits -= extraCols; } unitsRest -= heightUnits; MenuBlock mb = new MenuBlock(width, heightUnits * 15, cs, preditor); mb.setContent(c); column.add(mb); } return column; }