Achei isso aqui no forum:
public static String toHex(String text) {
StringBuilder out = new StringBuilder();
char[] textChars = text.toCharArray();
for (int x = 0; x < textChars.length; x++) {
out.append(Integer.toHexString(textChars[x]).toUpperCase());
}
return out.toString();
}
Resolvi testar no NetBeans (é, já fiquei mal acostumado…):
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* JFVisor.java
*
* Created on 21/01/2011, 09:55:41
*/
/**
*
* @author victorcosta
*/
public class JFVisor extends javax.swing.JFrame {
/** Creates new form JFVisor */
public JFVisor() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jTHex = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jBTextoPHex = new javax.swing.JButton();
jBLimpa = new javax.swing.JButton();
jTTexto = new javax.swing.JTextField();
jBHexPText = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jPanel1.setBackground(new java.awt.Color(12, 12, 12));
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "HEX/ASCII", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", 0, 12), new java.awt.Color(254, 254, 254))); // NOI18N
jLabel1.setText("Developed by http://nerdbaiano.blogspot.com");
jLabel2.setText("Texto:");
jLabel3.setText("Hex:");
jBTextoPHex.setBackground(new java.awt.Color(50, 50, 50));
jBTextoPHex.setForeground(new java.awt.Color(90, 90, 90));
jBTextoPHex.setText("ASCII/Hex");
jBTextoPHex.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jBTextoPHexActionPerformed(evt);
}
});
jBLimpa.setBackground(new java.awt.Color(50, 50, 50));
jBLimpa.setForeground(new java.awt.Color(90, 90, 90));
jBLimpa.setText("Limpar");
jBLimpa.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jBLimpaActionPerformed(evt);
}
});
jTTexto.setText("Cole o link invertido aqui.");
jBHexPText.setBackground(new java.awt.Color(50, 50, 50));
jBHexPText.setForeground(new java.awt.Color(90, 90, 90));
jBHexPText.setText("Hex/ASCII");
jBHexPText.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jBHexPTextActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTHex, javax.swing.GroupLayout.DEFAULT_SIZE, 298, Short.MAX_VALUE)
.addComponent(jTTexto, javax.swing.GroupLayout.DEFAULT_SIZE, 298, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jBTextoPHex, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jBHexPText)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jBLimpa, javax.swing.GroupLayout.DEFAULT_SIZE, 138, Short.MAX_VALUE))
.addComponent(jLabel1, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel3)
.addComponent(jLabel2))
.addContainerGap())
);
jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jBHexPText, jBTextoPHex});
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTTexto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTHex, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jBTextoPHex)
.addComponent(jBLimpa)
.addComponent(jBHexPText))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
);
pack();
}// </editor-fold>
private void jBTextoPHexActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jTHex.setText(toHex(jTTexto.getText()));
}
private void jBLimpaActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jTHex.setText("");
jTTexto.setText("");
}
private void jBHexPTextActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
public static String toHex(String text) {
StringBuilder out = new StringBuilder();
char[] textChars = text.toCharArray();
for (int x = 0; x < textChars.length; x++) {
out.append(Integer.toHexString(textChars[x]).toUpperCase());
}
return out.toString();
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new JFVisor().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jBHexPText;
private javax.swing.JButton jBLimpa;
private javax.swing.JButton jBTextoPHex;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JPanel jPanel1;
private javax.swing.JTextField jTHex;
private javax.swing.JTextField jTTexto;
// End of variables declaration
}
Funcionou direitinho, mas gostaria de saber como fazer o jBTHexPText pegar o texto no jTHex e colocá-lo em texto normal na jTTexto…
[]'s