使用 Jtextfield 框中文本中的字符,如果它与首选字符串的一半匹配,则在显示框中显示首选字符串

问题描述

这是我第一次在这里发布问题。我目前坚持我的音乐搜索应用程序项目。其中,当您搜索音乐时,应用程序会在显示框中显示您要搜索的音乐名称,然后单击播放,将播放该音乐。但目前,我想不出办法。据我所知,我想从我创建的 Jtextfield 搜索框中获取用户输入进行搜索的文本,并使用其中的所有字符,如果它与我喜欢的字符串匹配,我首选字符串的一半,然后全部完成并显示显示框中。 (例如在搜索框中输入“payphone”,我可以首选的字符串是“Payphone - Maroon 5”,则显示框会显示“Payphone - Maroon 5”。

这是我的代码,你们可以检查它以进一步了解我在说什么。

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class playbackMp3 implements ActionListener {

    Font appFont = new Font("Arial",Font.PLAIN,15);
    Font buttonFont = new Font("Arial",12);
    JFrame frame;
    JPanel panel;
    JTextField searchBar,songdisplay;
    JButton[] functionButtons = new JButton[5];
    JButton play,pause,prev,next,search;
    String searchBox;
    String payphone_maroon5 = "Payphone - Maroon 5";
    
    boolean searchSong = false;
    public playbackMp3() {
        
        //gui
        frame = new JFrame("MP3");
        frame.setSize(320,140);
        frame.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
        //frame.getContentPane().setBackground(Color.black);
        frame.setLocationRelativeto(null);
        frame.setResizable(false);
        frame.setLayout(null);
        
        searchBar = new JTextField();
        searchBar.setBounds(23,8,164,25);
        searchBar.setFont(appFont);
        searchBar.setHorizontalAlignment(JTextField.LEFT);
        
        songdisplay = new JTextField();
        songdisplay.setBounds(23,38,253,25);
        songdisplay.setFont(appFont);
        songdisplay.setHorizontalAlignment(JTextField.CENTER);
        songdisplay.setEditable(false);
        songdisplay.setBorder(null);
        songdisplay.setText("Searching song to listen...");
        //songdisplay.setBackground(Color.black);
        
        play = new JButton("PLAY");
        pause = new JButton("PAUSE");
        prev = new JButton("PREV");
        next = new JButton("NEXT");
        search = new JButton ("SEARCH");
        
        functionButtons [0] = play;
        functionButtons [1] = pause;
        functionButtons [2] = next;
        functionButtons [3] = prev;
        functionButtons [4] = search;
        
        for (int i = 0; i < 5; i++) {
            
            functionButtons[i].addActionListener(this);
            functionButtons[i].setFont(buttonFont);
            functionButtons[i].setFocusable(false);
            functionButtons[i].setBackground(Color.white);
            
        }
        
        search.setBounds(192,84,24);
        play.setBounds(10,68,64,25);
        pause.setBounds(79,74,25);
        next.setBounds(158,66,25);
        prev.setBounds(229,25);
        
        frame.add(prev);
        frame.add(next);
        frame.add(pause);
        frame.add(play);
        frame.add(songdisplay);
        frame.add(search);
        frame.add(searchBar);
        frame.setVisible(true);
        }
    
    
    public static void main(String[] args) {
        playbackMp3 mp3 = new playbackMp3();
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if(e.getSource() == search) {
            searchBox = searchBar.getText();
            songdisplay.setText(searchBox);
//          if(searchBox == check_custhekid) {
//              songdisplay.setText("YES");
//          }
        }
    }

}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)