1
我正在製作一個應用程序,允許您添加文件然後對其進行壓縮,但是如何將我的硬盤驅動器或任何硬盤中的文件存入我的應用程序?我可以通過文件讀取器獲取文件,但是如何將其放入我的GUI?在模型中使用JList?
我讀到defaultListModel是走的路,但我不確定。
public class LockNCompressWindow
{
public static void main(String[] args)
{
LockFrame w = new LockFrame();
w.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
w.setSize(500,500);
w.setResizable(false);
w.setVisible(true);
}
}
class LockFrame extends JFrame implements ActionListener
{
//Declaring MenuBar and components
JMenuBar menuBar = new JMenuBar();
JMenu menu = new JMenu("File");
JMenuItem MenuItemClose = new JMenuItem("Close");
//Declaring Panels
JPanel PanelNorth = new JPanel();
JPanel PanelCenter = new JPanel();
JPanel PanelSouth = new JPanel();
//Declaring Buttons
JButton ButtonAddFile = new JButton("Add File");
JButton ButtonDeleteFile = new JButton("Delete File");
JButton ButtonLock = new JButton("Lock");
JButton ButtonUnlock = new JButton("Unlock");
//Declaring FileChooser
JFileChooser chooser = new JFileChooser();
public LockFrame()
{
//Title of the frame
super("Lock and Zip");
//Creating Menu bar
super.setJMenuBar(menuBar);
//Creating the Menu Tab
menuBar.add(menu);
//Creating a Menu Item
menu.add(MenuItemClose);
//Adding North Panel
PanelNorth.setBorder(BorderFactory.createEtchedBorder());
super.add(PanelNorth);
PanelNorth.add(ButtonAddFile);
PanelNorth.add(ButtonDeleteFile);
add(PanelNorth,BorderLayout.NORTH);
//Adding Center Panel to Frame
super.add(PanelCenter);
//Adding Scroll Pane
JScrollPane listScroller = new JScrollPane();
listScroller.setPreferredSize(new Dimension(400,360));
PanelCenter.add(listScroller);
add(PanelCenter, BorderLayout.CENTER);
//Adding South Panel
PanelSouth.setBorder(BorderFactory.createEtchedBorder());
super.add(PanelCenter);
PanelSouth.add(ButtonLock);
PanelSouth.add(ButtonUnlock);
PanelSouth.add(ButtonPassword);
add(PanelSouth,BorderLayout.SOUTH);
//Action Listeners
ButtonAddFile.addActionListener(this);
ButtonPassword.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
Object Source = e.getSource();
int ReturnValue;
if (Source == ButtonAddFile)
{
ReturnValue = chooser.showOpenDialog(LockFrame.this);
if (ReturnValue == JFileChooser.APPROVE_OPTION())
{
File file = chooser.getSelectedFile();
//Add the file to you center panel
}
}
if (Source == ButtonDeleteFile)
{
}
if (Source == ButtonLock)
{
}
if (Source == ButtonUnlock)
{
}
if (Source == ButtonPassword)
{
}
}
}
你是什麼意思是「把一個文件到一個GUI」嗎? – Flawyte
我只是想讓文件顯示在我的面板中。現在發生的事情是在打開目錄並選擇一個文件後什麼也沒有發生。 – rogerthat
如果文件僅包含文本,則可以將其內容放入JTextArea或JEditorPane中。 – Flawyte