Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - sapito169

#1
Java / Re: Cambiar color JLabel en java
12 Diciembre 2021, 06:05 AM
mmm estoy ocidado

Código (java) [Seleccionar]


package swing.comboexample;

import java.util.logging.Logger;

import javax.swing.Action;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import java.awt.FlowLayout;
import java.awt.Color;

import java.awt.event.ActionEvent;
import java.beans.PropertyChangeListener;

import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.text.AttributeSet.ColorAttribute;
public class HelloWorld extends JFrame{

   public static void main(String... args) {
HelloWorld helloWorld = new HelloWorld();
helloWorld.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JComboBox<String> cboColor = new JComboBox<String>();
cboColor.addItem("rojo");
cboColor.addItem("verde");
cboColor.addItem("azul");
JLabel lblPrincipal = new JLabel("hola");
lblPrincipal.setOpaque(true);
cboColor.addActionListener(p->{
int index = cboColor.getSelectedIndex();

switch (index) {
case 1:
lblPrincipal.setBackground(Color.RED);
break;
case 2:
lblPrincipal.setBackground(Color.GREEN  );
break;

case 3:
lblPrincipal.setBackground(Color.BLUE);
break;

}
} );
helloWorld.getContentPane().setLayout( new FlowLayout() );
helloWorld.getContentPane().add(cboColor);

helloWorld.getContentPane().add(lblPrincipal);
helloWorld.setLocationRelativeTo(null);
helloWorld.pack();
helloWorld.setVisible(true);
}

       
}
#2
Java / Re: Clases online Java
18 Noviembre 2021, 00:10 AM
caushita  la situacion es un poco dificil por que la gente de recursos humanos te van a pedir vachillerato o estar terminando la universidad lo cual en lo personal me parece una reverenda estupidez

tienes otra carrera? eso lo haria mas facil

cuantas horas quieres a la semana?

#3
XD
#5
eso es crear un batch en windows

en google lo encuentras rápido y fácil
#6
el problema no es de lenguaje es  no tener el hemisferio de adorno y atrofiado por desuso

en la medida que uses bien la principal herramienta de trabajo podrás aprender cualquier lenguaje en horas o uno o dos días y ser igual o mas productivo que el resto en dias

también el hemisferio izquierdo sirve para resolver cualquier tipo de problemas y puedes trasladar tus habilidades de de resolver problemas de un dominio que aparentemente no tienen ningún tipo de parecido a otro

https://www.youtube.com/watch?v=Hl-zzrqQoSE&list=PLFE2CE09D83EE3E28

y si no te gusto o te resulta difícil programar es una decisión individual
solo se excelente en cualquier cosa que decidas serlo mediocres sobran en cualquier rama

#7
tines que leer el mensaje de error con calma si tienes que aprender ingles aprendes

falla --generqado por->  catPlantasDaoJpa --generado por--> AreaImpactoVo


AreaImpactoVo es muy probable que tenga mal anotacion jpa

tambien puede ser que en la clase catPlantasDaoJpa (que por nomenclatura de clases deberia comenzar con Mayuscula) no pusiste el autowired a un objeto del tipo AreaImpactoVo
#8
les presento una herramienta para que puedan ver sus  documento word excel y ppt de office 2003 2007 desde adentro

en futuras entregas mejorare la herramienta para que pueda comparar archivos de office
y también hacer una super búsqueda en varios archivos de office

Código (java) [Seleccionar]

package office;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringReader;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.Set;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.Stack;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

import javax.xml.XMLConstants;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;

import org.w3c.dom.Node;
import org.w3c.dom.bootstrap.DOMImplementationRegistry;
import org.w3c.dom.ls.DOMImplementationLS;
import org.w3c.dom.ls.LSSerializer;
import org.xml.sax.InputSource;

import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.event.ActionEvent;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.control.MenuItem;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeView;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.layout.Background;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.FileChooser;
import javafx.stage.FileChooser.ExtensionFilter;
import javafx.stage.Stage;

import java.util.Collection;
import java.util.Collections;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.fxmisc.flowless.VirtualizedScrollPane;
import org.fxmisc.richtext.CodeArea;
import org.fxmisc.richtext.LineNumberFactory;
import org.fxmisc.richtext.model.StyleSpans;
import org.fxmisc.richtext.model.StyleSpansBuilder;

public class TreeViewExample extends Application {

Stage primaryStage;
BorderPane root;
Map<String, TreeItem> map;
Map<String, String> inmemory;
  CodeArea textArea = new    CodeArea();
  TextField label  = new TextField("File:");

private static final Pattern XML_TAG = Pattern.compile("(?<ELEMENT>(</?\\h*)(\\w+)([^<>]*)(\\h*/?>))"
+"|(?<COMMENT><!--[^<>]+-->)");

private static final Pattern ATTRIBUTES = Pattern.compile("(\\w+\\h*)(=)(\\h*\"[^\"]+\")");

private static final int GROUP_OPEN_BRACKET = 2;
private static final int GROUP_ELEMENT_NAME = 3;
private static final int GROUP_ATTRIBUTES_SECTION = 4;
private static final int GROUP_CLOSE_BRACKET = 5;
private static final int GROUP_ATTRIBUTE_NAME = 1;
private static final int GROUP_EQUAL_SYMBOL = 2;
private static final int GROUP_ATTRIBUTE_VALUE = 3;


public static void main(String[] args) {
Application.launch(args);

}

public void open(ActionEvent actionEvent) {
textArea.clear();
inmemory=new HashMap<String, String>();
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("selecione el excel");

fileChooser.getExtensionFilters().addAll(new ExtensionFilter("Excel", "*.xlsx"),
new ExtensionFilter("Doc", "*.docx"), new ExtensionFilter("Ppt", "*..pptx"));
File file = fileChooser.showOpenDialog(primaryStage);

if (file != null) {
label.setText(file.getAbsolutePath());
try (ZipFile zipFile = new ZipFile(file);) {

Enumeration<?> enu = zipFile.entries();
Set<String> nodes = new HashSet<>();
while (enu.hasMoreElements()) {
ZipEntry zipEntry = (ZipEntry) enu.nextElement();

InputStream inputStream= zipFile.getInputStream(zipEntry);



String name = zipEntry.getName();

inmemory.put(name+"/", convertToString(inputStream));
inputStream.close();
String[] split = name.split("/");



String node = "";
for (String current : split) {
node += current + "/";
nodes.add(node);
}

}
List<String> listnodes = new ArrayList<String>(nodes);

Collections.sort(listnodes, this::compare);

TreeItem rootItem = root(listnodes, file.getName());

TreeView treeView = new TreeView();
treeView.getSelectionModel().selectedItemProperty().addListener(this::selectedFile);
treeView.setRoot(rootItem);

treeView.setShowRoot(true);

root.setLeft(treeView);

} catch (Exception e) {
Alert alert = new Alert(AlertType.ERROR);
alert.setContentText(e.getMessage());
e.printStackTrace();
alert.showAndWait();
}

}

}

String convertToString(InputStream in){
   Scanner scanner = new Scanner(in);
   scanner.useDelimiter("\\A");

   boolean hasInput = scanner.hasNext();
   if (hasInput) {
       return scanner.next();
   } else {
       return null;
   }

}

void selectedFile(ObservableValue observable, Object oldValue,
           Object newValue){
       TreeItem<String> selectedItem = (TreeItem<String>) newValue;
        for(String current: map.keySet()) {
        if(map.get(current)==selectedItem) {
        String text=inmemory.get(current);
        if(text!=null) {
        textArea.replaceText(prettyFormat(text));
        }
        }
        }
}

public int compare(String o1, String o2) {
int result = (Integer.valueOf(o1.split("/").length)).compareTo(o2.split("/").length);
if (result == 0)
result = o1.compareTo(o2);
return result;
}

private TreeItem root(List<String> listnodes, String name) {

TreeItem rootItem = new TreeItem(name);

rootItem.setExpanded(true);
map = new LinkedHashMap<String, TreeItem>();
for (String current : listnodes) {
String[] split = current.substring(0, current.length() - 1).split("/");

map.put(current, new TreeItem(split[split.length - 1]));
}

for (String key : map.keySet()) {

if (key.split("/", -1).length == 2) {

rootItem.getChildren().add(map.get(key));

} else {

String currentName = map.get(key).getValue() + "";
String result = key.substring(0, key.lastIndexOf(currentName + "/"));

TreeItem parent = map.get(result);
parent.setExpanded(true);
parent.getChildren().add(map.get(key));

}

}

return rootItem;
}



public String prettyFormat(String xml) {

       try {
           final InputSource src = new InputSource(new StringReader(xml));
           final Node document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(src).getDocumentElement();
           final Boolean keepDeclaration = Boolean.valueOf(xml.startsWith("<?xml"));

       //May need this: System.setProperty(DOMImplementationRegistry.PROPERTY,"com.sun.org.apache.xerces.internal.dom.DOMImplementationSourceImpl");


           final DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
           final DOMImplementationLS impl = (DOMImplementationLS) registry.getDOMImplementation("LS");
           final LSSerializer writer = impl.createLSSerializer();

           writer.getDomConfig().setParameter("format-pretty-print", Boolean.TRUE); // Set this to true if the output needs to be beautified.
           writer.getDomConfig().setParameter("xml-declaration", keepDeclaration); // Set this to true if the declaration is needed to be outputted.

           return writer.writeToString(document);
       } catch (Exception e) {
           throw new RuntimeException(e);
       }
   }

@Override
public void start(Stage primaryStage) {  
label.setEditable(false);
label.setStyle("-fx-background-color:#ced1d6;");
textArea.setParagraphGraphicFactory(LineNumberFactory.get(textArea));
this.primaryStage = primaryStage;
Menu m = new Menu("Archivo");

MenuItem open = new MenuItem("Inspect");


open.setOnAction(this::open);
m.getItems().add(open);

MenuBar mb = new MenuBar();
mb.getMenus().add(m);

root = new BorderPane();

VBox head = new VBox();
head.getChildren().add(mb);
head.getChildren().add(label);
root.setTop(head);


textArea.setEditable(false);
textArea.textProperty().addListener((obs, oldText, newText) -> {
textArea.setStyleSpans(0, computeHighlighting(newText));
       });
root.setCenter(new VirtualizedScrollPane<>(textArea));

Scene scene = new Scene(root, 550, 250);
scene.getStylesheets().add(TreeViewExample.class.getResource("xml-highlighting.css").toExternalForm());
primaryStage.setTitle("OpenXml Comparator");
primaryStage.setScene(scene);
// primaryStage.setMaximized(true);

primaryStage.show();

}
private static StyleSpans<Collection<String>> computeHighlighting(String text) {
   
       Matcher matcher = XML_TAG.matcher(text);
       int lastKwEnd = 0;
       StyleSpansBuilder<Collection<String>> spansBuilder = new StyleSpansBuilder<>();
       while(matcher.find()) {
       
        spansBuilder.add(Collections.emptyList(), matcher.start() - lastKwEnd);
        if(matcher.group("COMMENT") != null) {
        spansBuilder.add(Collections.singleton("comment"), matcher.end() - matcher.start());
        }
        else {
        if(matcher.group("ELEMENT") != null) {
        String attributesText = matcher.group(GROUP_ATTRIBUTES_SECTION);
       
        spansBuilder.add(Collections.singleton("tagmark"), matcher.end(GROUP_OPEN_BRACKET) - matcher.start(GROUP_OPEN_BRACKET));
        spansBuilder.add(Collections.singleton("anytag"), matcher.end(GROUP_ELEMENT_NAME) - matcher.end(GROUP_OPEN_BRACKET));

        if(!attributesText.isEmpty()) {
       
        lastKwEnd = 0;
       
        Matcher amatcher = ATTRIBUTES.matcher(attributesText);
        while(amatcher.find()) {
        spansBuilder.add(Collections.emptyList(), amatcher.start() - lastKwEnd);
        spansBuilder.add(Collections.singleton("attribute"), amatcher.end(GROUP_ATTRIBUTE_NAME) - amatcher.start(GROUP_ATTRIBUTE_NAME));
        spansBuilder.add(Collections.singleton("tagmark"), amatcher.end(GROUP_EQUAL_SYMBOL) - amatcher.end(GROUP_ATTRIBUTE_NAME));
        spansBuilder.add(Collections.singleton("avalue"), amatcher.end(GROUP_ATTRIBUTE_VALUE) - amatcher.end(GROUP_EQUAL_SYMBOL));
        lastKwEnd = amatcher.end();
        }
        if(attributesText.length() > lastKwEnd)
        spansBuilder.add(Collections.emptyList(), attributesText.length() - lastKwEnd);
        }

        lastKwEnd = matcher.end(GROUP_ATTRIBUTES_SECTION);
       
        spansBuilder.add(Collections.singleton("tagmark"), matcher.end(GROUP_CLOSE_BRACKET) - lastKwEnd);
        }
        }
           lastKwEnd = matcher.end();
       }
       spansBuilder.add(Collections.emptyList(), text.length() - lastKwEnd);
       return spansBuilder.create();
   }
}


Código (visualfoxpro) [Seleccionar]
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>tool</groupId>
<artifactId>office</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>

<dependencies>
<dependency>
<groupId>org.fxmisc.richtext</groupId>
<artifactId>richtextfx</artifactId>
<version>0.10.6
   </version>
</dependency>
</dependencies>

</project>



Código (css) [Seleccionar]
.tagmark {
   -fx-fill: gray;
}
.anytag {
   -fx-fill: crimson;
}
.paren {
   -fx-fill: firebrick;
   -fx-font-weight: bold;
}
.attribute {
   -fx-fill: darkviolet;
}
.avalue {
   -fx-fill: black;
}

.comment {
-fx-fill: teal;
}

.red-text {
   -fx-font-color: red;
}
.red-green {
   -fx-font-color: blue;
}
.styleClassName {

       -fx-background-color:gray;

    }

#9
Java / Re: que usar para una Interfaz grafica
3 Octubre 2021, 05:35 AM
#10
solucion simple usa jquery validation

XD
las variables en aplicaciones web son mas complicadas que en aplicacion de escritorio

la forma por defecto de como funciona la inmensa mayoría de framewors web del lado del servidor las variables se pierden por cada request (petición )
es por eso que cuando validas no te va a funcionar el if de thymelift por que ya se resete las variables despues de hacer la peticion

si lo quieres hacer del lado del servidor no lo recomiendo tendrias que usar el alcanse flash
https://www.baeldung.com/spring-web-flash-attributes