2950
- 收藏
- 点赞
- 分享
- 举报
java Swing中如何动态更改JList对象的值并显示
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.LinkedList;
import javax.swing.JFrame;
import javax.swing.filechooser.FileNameExtensionFilter;
import javazoom.jl.decoder.JavaLayerException;
import javazoom.jl.player.Player;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JProgressBar;
import javax.swing.event.ChangeListener;
import javax.swing.JList;
import javax.swing.JPanel;
import java.awt.Color;
public class MusicPlayerFrame_Test implements ActionListener{
private JFrame frame;
JButton button = null;
JButton button_1 = null;
JButton button_2 = null;
JProgressBar progressBar = null;
JFileChooser chooser = null;
JList list = null;
JPanel panel = null;
File[] files = null;
FileInputStream fis = null; //读取文件内容
BufferedInputStream bis = null; //缓存字节流
ArrayList<String> music_ArrayList = new ArrayList();
String[] music_List = new String[music_ArrayList.size()];
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MusicPlayerFrame_Test window = new MusicPlayerFrame_Test();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public MusicPlayerFrame_Test() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
button_1 = new JButton("\u9009\u62E9\u6B4C\u66F2");
button_1.setBounds(165, 147, 93, 23);
frame.getContentPane().add(button_1);
button_2 = new JButton("\u64AD\u653E/\u6682\u505C");
button_2.setBounds(165, 200, 93, 23);
frame.getContentPane().add(button_2);
progressBar = new JProgressBar();
progressBar.setBounds(10, 237, 414, 14);
frame.getContentPane().add(progressBar);
list = new JList(music_List);
list.setBounds(129, 32, 1, 1);
panel = new JPanel();
panel.setBackground(Color.WHITE);
panel.add(list);
panel.setBounds(161, 23, 97, 114);
frame.getContentPane().add(panel);
button_1.addActionListener(this);
button_2.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
new Thread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
if(e.getSource() == button_1){
chooseMusic();
list = new JList(music_List);
panel.repaint();
}
if(e.getSource() == button_2){
}
}
}).start();
}
public void chooseMusic(){
chooser = new JFileChooser();
chooser.setMultiSelectionEnabled(true);
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
chooser.setMultiSelectionEnabled(true);
FileNameExtensionFilter filter = new FileNameExtensionFilter(".", "mp3");
chooser.setFileFilter(filter);
int returnVal = chooser.showOpenDialog(null);
if(returnVal == JFileChooser.APPROVE_OPTION) {
files = chooser.getSelectedFiles();
for(File file : files){
music_ArrayList .add(file.getName());
System.out.println(music_ArrayList);
}
music_List = music_ArrayList.toArray(music_List);
System.out.println(music_List[0]);
}
else if(chooser.getSelectedFiles() == null){
return;
}
}
}
我来回答
回答0个
时间排序
认可量排序
暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2020-11-16 10:49:20
-
2020-07-13 22:09:27
-
2015-11-20 17:44:43
-
2017-08-09 10:47:15
-
2020-10-01 16:23:16
-
2021-01-04 15:27:36
-
2016-07-18 20:22:52
-
2012-12-02 22:50:44
-
2016-03-22 09:55:34
-
02008-08-02 00:21:25
-
2020-12-04 13:50:22
-
2016-07-16 16:46:57
-
2021-03-31 17:18:03
-
2015-12-13 21:33:04
-
2020-10-27 14:30:16
-
2016-10-27 10:13:22
-
2019-01-07 17:59:26
-
2020-12-09 14:29:46
-
2008-12-19 13:05:51
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
50帮忙解决个交叉编译的问题
-
20帮忙交叉编译个源码
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认