[英]Get the file path from jcombobox
我試圖從jcombobox中選擇我的文件,並在文本區域中顯示數據。 當前,我已經列出了文件名,但是現在一旦從下拉列表中選擇文件名,它就會向我顯示此錯誤:
SEVERE: null
這是我當前的代碼:
private void jCmboxActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//JComboBox jCmbox = (JComboBox)evt.getSource();
String stateName = (String)jCmbox.getSelectedItem();
updateData(stateName);
}
public void updateData(String path){
String csvFilename = "";
URL url;
try {
url = new URL(csvFilename);
} catch (MalformedURLException ex) {
Logger.getLogger(VisualizationPanel.class.getName()).log(Level.SEVERE, null, ex);
}
url = VisualizationPanel.class.getResource(path);
CSVData data = CSVData.loadFromFile(url.toString()); //loads the csv data
VisualizationPanel visPanel = new VisualizationPanel(this, data); //draws the vis panel and adds the data to it
}
我是java的新手,有人可以幫我這個忙。 謝謝。
在updateData()
您將從一個空字符串創建一個新URL
。 這就是引發您異常的原因。
您可以看到在updateData()
的第一行上,您將csvFilename
定義為空字符串。 您永遠不會為該變量重新分配值,因此當您在URL
構造函數中使用它時,它仍然為空。
我們可以從URL
構造器規范中看到,如果規范出現問題,則會拋出您所看到的異常。
您可以做的是更改String csvFilename = "";
到String csvFilename = path;
,看看是否可以解決您的問題。
不過,實際上,由於您是在try catch
之后立即重寫URL
變量,因此您應該能夠刪除該塊並完全避免該問題。 嘗試這個:
public void updateData(String path){
String csvFilename = "";
URL url = VisualizationPanel.class.getResource(path);
CSVData data = CSVData.loadFromFile(url.toString()); //loads the csv data
VisualizationPanel visPanel = new VisualizationPanel(this, data); //draws the vis panel and adds the data to it
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.