用java编写一个应用程序,要求程序具有一个至少包含两个图形和两个按钮(如图4所示)的窗口。当选中显示歌名的按钮后程序会播放相应的歌曲。
时间: 2024-10-12 13:11:35 浏览: 24
实现一个如图界面的计算器,要求点击若干按钮后,计算式能在首栏文本框中显示。
为了创建一个简单的Java应用程序,满足您的需求,我们将使用Swing库来构建图形用户界面(GUI)。这里是一个基本的例子,说明如何实现这个功能:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class SongPlayer extends JFrame {
private JButton playSongButton;
private JButton showTitleButton;
private JLabel titleLabel;
private JPanel mainPanel;
private JLabel[] songs = {new JLabel("Song 1"), new JLabel("Song 2")}; // 假设我们有两首歌
public SongPlayer() {
setTitle("Music Player");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建主面板
mainPanel = new JPanel(new GridLayout(2, 2));
for (JLabel song : songs) {
mainPanel.add(song);
}
// 创建并添加播放按钮
playSongButton = new JButton("Play Song");
playSongButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 这里需要实际连接到音频播放器,此处仅示例,忽略
System.out.println("Playing selected song...");
}
});
mainPanel.add(playSongButton);
// 创建并添加显示标题按钮
showTitleButton = new JButton("Show Title");
showTitleButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int selectedSongIndex = getSelectedSongIndex();
titleLabel.setText(songs[selectedSongIndex].getText());
}
private int getSelectedSongIndex() {
// 确定当前选中的歌曲索引,这里假设点击的是第一个标签
return 0;
}
});
mainPanel.add(showTitleButton);
// 创建并设置标题标签
titleLabel = new JLabel("No song selected");
mainPanel.add(titleLabel, BorderLayout.NORTH);
// 设置布局,并显示窗口
setContentPane(mainPanel);
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
new SongPlayer();
});
}
}
```
在这个例子中,我们创建了一个`SongPlayer`类,它继承自`JFrame`,并在构造函数中设置了窗口的基本信息。我们有两个`JLabel`用于展示歌曲名称,两个按钮分别对应播放和显示标题的功能。当点击"Play Song"按钮时,程序打印一条消息表示播放动作,实际播放逻辑需要连接到音频播放器。点击"Show Title"按钮则更新`titleLabel`的内容。
请注意,这只是一个基础的示例,实际应用中您需要处理更复杂的情况,比如音乐文件的加载、音频播放器的选择以及用户交互等。
阅读全文