1 package org.xrn.gui;
2
3 import java.awt.Color;
4 import java.awt.Font;
5 import java.awt.event.ActionEvent;
6 import java.awt.event.ActionListener;
7 import java.io.File;
8 import java.io.FileFilter;
9
10 import javax.swing.JButton;
11 import javax.swing.JComponent;
12 import javax.swing.JFileChooser;
13 import javax.swing.JLabel;
14 import javax.swing.JPanel;
15 import javax.swing.JTextField;
16 import javax.swing.border.TitledBorder;
17
18 /***
19 *
20 * TODO Description
21 * @author Carsten Maneg
22 * Date Nov 7, 2004
23 * Time 6:02:37 PM
24 */
25 public class OpenFilePanel extends JPanel implements ActionListener, FileFilter{
26 private Font schriftTyp;
27
28 private JLabel nameS;
29 private JTextField nameWF;
30 private JButton suchenAS;
31 private JButton bearbeitenAS;
32
33 private JFileChooser fileChooser = null;
34 private String filename;
35 private String filePath;
36 private File selectedFile = null;
37 private ReleaseNotesWindow releaseNotesWindow = null;
38
39 public OpenFilePanel( JPanel eigentuemer ){
40
41 setBorder( new TitledBorder( " Datei " ) );
42 schriftTyp = new Font( "Dialog", Font.BOLD, 14 );
43 setFont( schriftTyp );
44 setLayout( null );
45
46 nameS = new JLabel("Name");
47 dlgObjHinzufuegen(nameS, 25, 25, 60, 20 );
48 nameWF = new JTextField();
49 nameWF.setEnabled( false );
50 dlgObjHinzufuegen(nameWF, 90, 25, 135, 20 );
51
52
53 suchenAS = new JButton( " browse... " );
54 dlgObjHinzufuegen( suchenAS, 250, 25, 100, 20 );
55 suchenAS.setEnabled( true );
56 suchenAS.addActionListener( this );
57
58 }
59
60
61 public File getPath(){
62
63 return selectedFile;
64 }
65
66 public boolean accept( File datei ){
67
68 String filename = datei.getName();
69 boolean file_ok = false;
70 int index = 0;
71
72
73 if( !datei.isDirectory() ){
74 index = filename.lastIndexOf( '.' );
75 if( index > 0 && index < filename.length()-1 ){
76 if( filename.substring( index+1 ).toLowerCase().equals( "fil" ) ){
77 file_ok = true;
78 }
79 }
80 }
81 else{
82 file_ok = false;
83 }
84
85 return file_ok;
86 }
87
88 public void dlgObjHinzufuegen( JComponent c, int x0, int y0, int breite, int hoehe ){
89 c.setBounds( x0, y0, breite, hoehe );
90 c.setForeground( Color.black );
91 add(c);
92 }
93
94 public void actionPerformed( ActionEvent e ){
95 int status = -1;
96
97
98 String arbeitsVerz = "C:/";
99
100
101
102
103 if ( e.getSource() == suchenAS )
104 {
105 fileChooser = new JFileChooser( arbeitsVerz );
106 fileChooser.setFileSelectionMode( JFileChooser.FILES_ONLY );
107 status = fileChooser.showDialog( this, "open" );
108 selectedFile = fileChooser.getSelectedFile();
109 if( (selectedFile != null) && (status == JFileChooser.APPROVE_OPTION) ){
110
111 filePath = selectedFile.getPath();
112
113 schreiben( selectedFile.getName() );
114
115 }
116 }
117 }
118
119 public void radieren( ){
120 nameWF.setText( "" );
121 bearbeitenAS.setEnabled( false );
122 }
123
124 public String lesen( ){
125 return filename;
126 }
127
128 public void schreiben( String name ){
129 filename = name;
130 nameWF.setText( filename );
131 }
132
133 }