用java-swing书写代码:设计一个图形用户界面,界面中有一个按钮,点击按钮,播放指定路径中的视频
时间: 2024-03-06 21:48:08 浏览: 132
Java Swing图形用户界面设计
以下是一个使用Java Swing编写的简单的GUI界面,可以点击按钮来播放指定路径中的视频:
```java
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.filechooser.FileNameExtensionFilter;
import uk.co.caprica.vlcj.component.EmbeddedMediaPlayerComponent;
import uk.co.caprica.vlcj.discovery.NativeDiscovery;
public class VideoPlayerGUI extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private EmbeddedMediaPlayerComponent mediaPlayerComponent;
private JButton openButton;
public VideoPlayerGUI() {
super("Video Player");
// Set the size of the window
setSize(800, 600);
// Set the window to be centered on the screen
setLocationRelativeTo(null);
// Set the default close operation to exit the application
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Create a panel for the media player component
JPanel mediaPanel = new JPanel();
mediaPanel.setLayout(new BorderLayout());
// Create the media player component and add it to the panel
mediaPlayerComponent = new EmbeddedMediaPlayerComponent();
mediaPanel.add(mediaPlayerComponent, BorderLayout.CENTER);
// Create a panel for the open button
JPanel buttonPanel = new JPanel();
// Create the open button and add it to the panel
openButton = new JButton("Open");
openButton.addActionListener(this);
buttonPanel.add(openButton);
// Add the panels to the window
getContentPane().add(mediaPanel, BorderLayout.CENTER);
getContentPane().add(buttonPanel, BorderLayout.SOUTH);
// Initialize the VLC library
boolean found = new NativeDiscovery().discover();
System.out.println("VLC library found: " + found);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == openButton) {
// Create a file chooser dialog
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileFilter(new FileNameExtensionFilter("Video files", "mp4", "avi", "mov"));
// Display the dialog and wait for the user's selection
int result = fileChooser.showOpenDialog(this);
// If the user selects a file, play it
if (result == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
mediaPlayerComponent.getMediaPlayer().playMedia(file.getAbsolutePath());
}
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
VideoPlayerGUI player = new VideoPlayerGUI();
player.setVisible(true);
}
});
}
}
```
在这个例子中,我们:
1. 创建了一个名为 "Video Player" 的窗口,并设置了它的大小和位置。
2. 创建了一个包含嵌入视频播放器的面板,并将它添加到窗口的中心。
3. 创建了一个按钮,并将它添加到窗口的底部。
4. 当用户单击按钮时,打开一个文件选择器,并让用户选择一个视频文件。
5. 如果用户选择了一个文件,就播放这个文件。
请注意,这个示例使用了一个名为 vlcj 的开源Java库来实现视频播放器功能。在运行这个示例之前,需要先安装VLC媒体播放器,并将它的路径添加到系统环境变量中。
阅读全文