【发布时间】:2018-03-30 05:20:34
【问题描述】:
添加歌曲对话框
public static javax.swing.JTextField getjTextFieldArtist() {
return jTextFieldArtist;
}
public void setjTextFieldArtist(javax.swing.JTextField jTextFieldArtist) {
this.jTextFieldArtist = jTextFieldArtist;
}
public static javax.swing.JTextField getjTextFieldFileName() {
return jTextFieldFileName;
}
public void setjTextFieldFileName(javax.swing.JTextField jTextFieldFileName) {
this.jTextFieldFileName = jTextFieldFileName;
}
public static javax.swing.JTextField getjTextFieldSongGenre() {
return jTextFieldSongGenre;
}
public void setjTextFieldSongGenre(javax.swing.JTextField jTextFieldSongGenre) {
this.jTextFieldSongGenre = jTextFieldSongGenre;
}
public static javax.swing.JTextField getjTextFieldSongName() {
return jTextFieldSongName;
}
public void setjTextFieldSongName(javax.swing.JTextField jTextFieldSongName) {
this.jTextFieldSongName = jTextFieldSongName;
}
}
主窗体
private void jButtonAddSongActionPerformed(java.awt.event.ActionEvent evt) {
AddSongDialog addSongDialog = new AddSongDialog(this, true);
addSongDialog.setLocationRelativeTo(this);
addSongDialog.setVisible(true);
String fileName = AddSongDialog.getjTextFieldFileName().getText();
String songName = AddSongDialog.getjTextFieldSongName().getText();
String songGenre = AddSongDialog.getjTextFieldSongGenre().getText();
String songArtist = AddSongDialog.getjTextFieldArtist().getText();
Song songInfo = new Song(songName, fileName, songGenre, songArtist);
Song files = new Song(fileName, fileName, fileName, fileName);
songs.add(songInfo);
songFileLibrary.add(files);
WriteToFile();
updatejListMusicLibrary();
updatejListFileLibrary();
}
private void jListMusicLibraryMouseClicked(java.awt.event.MouseEvent evt) {
JList ListMusicLibrary = (JList)evt.getSource();
if(evt.getClickCount() == 2) {
currentMusicLibraryIndex =
ListMusicLibrary.locationToIndex(evt.getPoint());
//Song s = songs.get(jListMusicLibrary.getSelectedIndex());
SongInfoDialog sid = new SongInfoDialog(this,true);
if(ListMusicLibrary.getSelectedIndex() != -1)
{
Song s = songs.get(ListMusicLibrary.getSelectedIndex());
sid.setArtist(s.getSongArtist());
sid.setGenre(s.getSongGenre());
sid.setFileType(s.getFileType(AddSongDialog.getjTextFieldFileName().getText()));
}
sid.setLocationRelativeTo(this);
sid.setVisible(true);
}
}
歌曲信息对话框
public String getArtist() {
return artist;
}
public String getGenre() {
return genre;
}
public String getFileType() {
return fileType;
}
public void setArtist(String artist) {
this.artist = artist;
jTextFieldArtistInfo.setText(artist);
}
public void setGenre(String genre) {
this.genre = genre;
jTextFieldGenreInfo.setText(genre);
}
public void setFileType(String fileType)
{
this.fileType = fileType;
jTextFieldFileType.setText(fileType);
}
}
我在这里尝试让 SongInfoDialog 中的 jTextFields 显示单首歌曲的艺术家、流派和文件类型信息。但是,当我运行程序时,流派的 jTextField 获取流派信息,艺术家的 jTextField 获取歌曲文件信息。 fileType 的 jTextField 根本不显示任何内容。
【问题讨论】:
标签: java jtextfield