1 package com
.hexidec
.ekit
.component
;
3 import com
.hexidec
.ekit
.EkitCore
;
4 import java
.awt
.event
.ActionListener
;
5 import java
.awt
.Container
;
6 import javax
.swing
.border
.*;
7 import javax
.swing
.BorderFactory
;
8 import javax
.swing
.BoxLayout
;
9 import javax
.swing
.event
.ListSelectionListener
;
10 import javax
.swing
.event
.ListSelectionEvent
;
11 import javax
.swing
.JButton
;
12 import javax
.swing
.JDialog
;
13 import javax
.swing
.JList
;
14 import javax
.swing
.JPanel
;
15 import javax
.swing
.JScrollPane
;
16 import javax
.swing
.ListSelectionModel
;
17 import javax
.swing
.SwingConstants
;
18 import javax
.swing
.WindowConstants
;
20 public class FileDialog
extends JDialog
implements ActionListener
22 private EkitCore ParentEkit
;
23 private JList FileList
;
24 private String FileDir
;
25 private String
[]Files
;
26 private String SelectedFile
;
28 public FileDialog(EkitCore parentEkit
, String fileDir
, String
[] fileList
, String title
, boolean modal
)
30 super(parentEkit
.getFrame(), title
, modal
);
33 ParentEkit
= parentEkit
;
37 public void actionPerformed(java
.awt
.event
.ActionEvent e
)
39 if(e
.getActionCommand().equals("save"))
43 else if(e
.getActionCommand().equals("cancel"))
53 Container contentPane
= getContentPane();
54 contentPane
.setLayout(new BoxLayout(contentPane
, BoxLayout
.Y_AXIS
));
55 setBounds(100,100,300,200);
56 setDefaultCloseOperation(WindowConstants
.HIDE_ON_CLOSE
);
58 FileList
= new JList(Files
);
59 FileList
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
60 FileList
.clearSelection();
61 ListSelectionModel lsm
= FileList
.getSelectionModel();
63 lsm
.addListSelectionListener(new ListSelectionListener()
65 public void valueChanged(ListSelectionEvent e
)
67 if(!e
.getValueIsAdjusting())
69 ListSelectionModel sm
= FileList
.getSelectionModel();
70 if(!sm
.isSelectionEmpty())
72 SelectedFile
= Files
[sm
.getMinSelectionIndex()];
79 JScrollPane fileScrollPane
= new JScrollPane(FileList
);
80 fileScrollPane
.setAlignmentX(LEFT_ALIGNMENT
);
81 JPanel centerPanel
= new JPanel();
82 centerPanel
.setLayout(new BoxLayout(centerPanel
, BoxLayout
.X_AXIS
));
83 centerPanel
.add(fileScrollPane
);
84 centerPanel
.setBorder(BorderFactory
.createTitledBorder("Files"));
86 JPanel buttonPanel
= new JPanel();
87 buttonPanel
.setBorder(new SoftBevelBorder(BevelBorder
.LOWERED
));
89 JButton saveButton
= new JButton("Accept");
90 saveButton
.setActionCommand("save");
91 saveButton
.addActionListener(this);
92 JButton cancelButton
= new JButton("Cancel");
93 cancelButton
.setActionCommand("cancel");
94 cancelButton
.addActionListener(this);
96 buttonPanel
.add(saveButton
);
97 buttonPanel
.add(cancelButton
);
99 contentPane
.add(centerPanel
);
100 contentPane
.add(buttonPanel
);
104 public String
getSelectedFile()
106 if(SelectedFile
!= null
)
108 SelectedFile
= FileDir
+ "/" + SelectedFile
;