hi leute
ich möchte eine datei im filemanager (windows-explorer) durch doppelklicken mit einem von mir geschriebnenen programm öffnen!!
wie muss ich das programm verändern bzw wie bekomme ich das programm dazu, eine methode auszuführen, wenn ich es mit einer datei als übergabeparamter öffne??
der code: leider nicht auskommentiert!
thx im voraus!
ich möchte eine datei im filemanager (windows-explorer) durch doppelklicken mit einem von mir geschriebnenen programm öffnen!!
wie muss ich das programm verändern bzw wie bekomme ich das programm dazu, eine methode auszuführen, wenn ich es mit einer datei als übergabeparamter öffne??
der code: leider nicht auskommentiert!
Code:
package gui;
import bl.FileFilter;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.TextArea;
import java.awt.Toolkit;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Vector;
import javax.swing.JFileChooser;
import javax.swing.JPanel;
public class Text0rGUI extends javax.swing.JFrame
{
JFileChooser jfc = new JFileChooser();
Vector<TextArea> tas = new Vector<TextArea>();
FileFilter ff = new FileFilter();
int created = 1;
public Text0rGUI()
{
initComponents();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setSize(screenSize);
JPanel jp = new JPanel();
jp.setName("new" + created);
tpTabs.add(jp);
TextArea t = new TextArea();
tas.add(t);
created++;
jp.setLayout(new BorderLayout());
jp.add(t);
tpTabs.setSelectedIndex(tpTabs.getTabCount() - 1);
}
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents()
{
tpTabs = new javax.swing.JTabbedPane();
jPanel2 = new javax.swing.JPanel();
btOpen = new javax.swing.JButton();
btNew = new javax.swing.JButton();
btSave = new javax.swing.JButton();
btClose = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("T³xt0r");
getContentPane().setLayout(new java.awt.BorderLayout(5, 0));
getContentPane().add(tpTabs, java.awt.BorderLayout.CENTER);
jPanel2.setLayout(new javax.swing.BoxLayout(jPanel2, javax.swing.BoxLayout.LINE_AXIS));
btOpen.setText("Open");
btOpen.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
btOpenActionPerformed(evt);
}
});
jPanel2.add(btOpen);
btNew.setText("New");
btNew.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
btNewActionPerformed(evt);
}
});
jPanel2.add(btNew);
btSave.setText("Save");
btSave.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
btSaveActionPerformed(evt);
}
});
jPanel2.add(btSave);
btClose.setText("Close");
btClose.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
btCloseActionPerformed(evt);
}
});
jPanel2.add(btClose);
getContentPane().add(jPanel2, java.awt.BorderLayout.PAGE_START);
pack();
}// </editor-fold>
private void btNewActionPerformed(java.awt.event.ActionEvent evt)
{
JPanel jp = new JPanel();
jp.setName("new" + created);
tpTabs.add(jp);
TextArea t = new TextArea();
created++;
jp.setLayout(new BorderLayout());
jp.add(t);
tpTabs.setSelectedIndex(tpTabs.getTabCount() - 1);
}
private void btOpenActionPerformed(java.awt.event.ActionEvent evt)
{
Vector<String> show = new Vector<String>();
File dir = new File(".");
jfc.setCurrentDirectory(dir);
for(int i = 0; i < ff.getNumberOfFilters(); i++)
{
jfc.addChoosableFileFilter(ff.getFilter(i));
}
jfc.showDialog(this, "Open");
try
{
File f = jfc.getSelectedFile();
FileReader fread = new FileReader(f);
BufferedReader bread = new BufferedReader(fread);
String s = "";
while(s != null)
{
s = bread.readLine();
System.out.println(s);
show.add(s);
}
JPanel jp = new JPanel();
jp.setName(f.getName() + "");
tpTabs.add(jp);
TextArea t = new TextArea();
for(int i = 0; i < show.size() - 1; i++)
{
t.append(show.get(i));
t.append("\n");
}
jp.setLayout(new BorderLayout());
jp.add(t);
tas.add(t);
tpTabs.setSelectedIndex(tpTabs.getTabCount() - 1);
}
catch(Exception e)
{
System.out.println("Error occured");
}
}
private void btSaveActionPerformed(java.awt.event.ActionEvent evt)
{
int selTab = tpTabs.getSelectedIndex();
TextArea t = tas.get(selTab);
String s = t.getText();
System.out.println("s: " + s);
File dir = new File(".");
jfc.setCurrentDirectory(dir);
jfc.setDialogType(JFileChooser.SAVE_DIALOG);
jfc.showDialog(this, "Save");
File f = jfc.getSelectedFile();
try
{
FileWriter fwrite = new FileWriter(f);
fwrite.write(s);
fwrite.close();
}
catch(Exception ex)
{
System.out.println("error");
}
}
private void btCloseActionPerformed(java.awt.event.ActionEvent evt)
{
tpTabs.remove(tpTabs.getSelectedComponent());
}
public static void main(String args[])
{
java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
new Text0rGUI().setVisible(true);
}
});
}
private javax.swing.JButton btClose;
private javax.swing.JButton btNew;
private javax.swing.JButton btOpen;
private javax.swing.JButton btSave;
private javax.swing.JPanel jPanel2;
private javax.swing.JTabbedPane tpTabs;
}
thx im voraus!