Huhu leutz, ich hab mal wieder ien problem, was vielen hier evtl sogar trivial erscheinen mag.
bei der sufu hier hab ich nich wirklich gefunden was mich weiterbringen würde..
also mein problem ist folgendes:
ich hab für nen bekannten nen linkchanger geschrieben
(in php funzt des ding soweit, aber ich dachte ne java-app wär etwas sinnvoller)
und der eingegebene link wird auch richtig konvertiert,
wenn ich also dahergehe und die eingabe ändere fruchtet des mit copy und paste die file zu öffnen.
wenn ich aber auf den open-button klicke bekomm ich ne illegalArgumentException.
hab mein test-system-out auch mal dazugeschrieben-
da wir klar, dass new File(convLink) meinen String kapott macht :|
jemand von euch ne idee wo der käse rollt?
nachfolgend mal die exception, der code der Converter.class und der LinkWin.class
bei der sufu hier hab ich nich wirklich gefunden was mich weiterbringen würde..
also mein problem ist folgendes:
ich hab für nen bekannten nen linkchanger geschrieben
(in php funzt des ding soweit, aber ich dachte ne java-app wär etwas sinnvoller)
und der eingegebene link wird auch richtig konvertiert,
wenn ich also dahergehe und die eingabe ändere fruchtet des mit copy und paste die file zu öffnen.
wenn ich aber auf den open-button klicke bekomm ich ne illegalArgumentException.
hab mein test-system-out auch mal dazugeschrieben-
da wir klar, dass new File(convLink) meinen String kapott macht :|
jemand von euch ne idee wo der käse rollt?
nachfolgend mal die exception, der code der Converter.class und der LinkWin.class
run:
hier: file://///TADAA/Eigene Bilder/aua/ATT1656043.jpg
file:\TADAA\Eigene Bilder\aua\ATT1656043.jpg
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: The file: file:\TADAA\Eigene Bilder\aua\ATT1656043.jpg doesn't exist.
at java.awt.Desktop.checkFileValidation(Desktop.java:191)
at java.awt.Desktop.open(Desktop.java:252)
at linkchanger.LinkWin.btn_openActionPerformed(LinkWin.java:133)
at linkchanger.LinkWin.access$100(LinkWin.java:25)
at linkchanger.LinkWin$2.actionPerformed(LinkWin.java:76)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Java:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package linkchanger;
/**
*
* @author Exceptionist
*/
public class Converter {
private String ressourceLink = null;
private String prefix = null;
public Converter(){
}
public String convertLink(String rLink, String linkType){
this.ressourceLink = rLink;
if(linkType.toLowerCase().equals("smb")){
this.prefix ="smb:";
}else{
this.prefix="file:///";
}
rLink = rLink.replaceAll("\\\\", "/");
String cRes = prefix+rLink;
return cRes;
}
}
Java:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* LinkWin.java
*
* Created on 09.11.2009, 20:06:41
*/
package linkchanger;
import java.awt.Color;
import java.awt.Desktop;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
/**
*
* @author Exceptionist
*/
public class LinkWin extends javax.swing.JFrame {
Converter conv = new Converter();
String convLink = null;
String inputLink = "";
boolean converted = false;
String type = ""; //leerinitialisierung damit bei fehlender auswahl auf jeden fall der file-link genommen wird
/** Creates new form LinkWin */
public LinkWin() {
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() {
buttonGroup1 = new javax.swing.ButtonGroup();
btn_convert = new javax.swing.JButton();
jTextField1 = new javax.swing.JTextField();
radio_file = new javax.swing.JRadioButton();
radio_smb = new javax.swing.JRadioButton();
btn_open = new javax.swing.JButton();
lbl_ausgabe = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setResizable(false);
btn_convert.setText("Convert Link");
btn_convert.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn_convertActionPerformed(evt);
}
});
jTextField1.setText("\\\\TADAA\\Eigene Bilder\\aua\\ATT1656043.jpg");
buttonGroup1.add(radio_file);
radio_file.setText("File");
buttonGroup1.add(radio_smb);
radio_smb.setText("SMB");
btn_open.setText("Open Link");
btn_open.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn_openActionPerformed(evt);
}
});
lbl_ausgabe.setText(" ");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(radio_smb)
.addComponent(radio_file))
.addGap(45, 45, 45)
.addComponent(lbl_ausgabe, javax.swing.GroupLayout.DEFAULT_SIZE, 321, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(btn_open, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btn_convert, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 514, Short.MAX_VALUE))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(21, 21, 21)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(lbl_ausgabe)
.addComponent(radio_file))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(radio_smb))
.addGroup(layout.createSequentialGroup()
.addComponent(btn_convert)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btn_open)))
.addContainerGap(17, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void btn_openActionPerformed(java.awt.event.ActionEvent evt) {
if(!converted){
this.evaluate();
}
System.out.println("hier: " + convLink);
File myfile = new File(convLink);
System.out.println(myfile);
try {
Desktop.getDesktop().open(myfile);
} catch (IOException ex) {
JOptionPane.showMessageDialog(null, "Details: " + ex.toString(), "Es ist ein Fehler aufgetreten", JOptionPane.OK_OPTION);
Logger.getLogger(LinkWin.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void btn_convertActionPerformed(java.awt.event.ActionEvent evt) {
this.evaluate();
}
private void evaluate() {
inputLink = jTextField1.getText();
if (radio_smb.isSelected()) {
type = "smb";
}
if (radio_file.isSelected()) {
type = "file";
}
if (!radio_file.isSelected() && !radio_smb.isSelected()) {
lbl_ausgabe.setText("Kein Typ ausgewählt! Typ: FILE wird übernommen");
lbl_ausgabe.setForeground(Color.red);
radio_file.setSelected(true);
}
convLink = conv.convertLink(inputLink, type);
jTextField1.setText(convLink);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
LinkWin win = new LinkWin();
win.setTitle("Ressource-Link-Converter");
win.setLocation(100, 100);
win.setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btn_convert;
private javax.swing.JButton btn_open;
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JTextField jTextField1;
private javax.swing.JLabel lbl_ausgabe;
private javax.swing.JRadioButton radio_file;
private javax.swing.JRadioButton radio_smb;
// End of variables declaration
}