|
@@ -11,6 +11,8 @@ package de.nplusc.izc.iZpl.GUI;
|
|
|
public class iZplGUIDefault extends javax.swing.JFrame
|
|
|
{
|
|
|
|
|
|
+ private boolean backendReady=false;
|
|
|
+
|
|
|
/**
|
|
|
* Creates new form iZplGUIDefault
|
|
|
*/
|
|
@@ -30,82 +32,112 @@ public class iZplGUIDefault extends javax.swing.JFrame
|
|
|
private void initComponents()
|
|
|
{
|
|
|
|
|
|
- jSlider1 = new javax.swing.JSlider();
|
|
|
- jButton1 = new javax.swing.JButton();
|
|
|
- jButton2 = new javax.swing.JButton();
|
|
|
- jButton3 = new javax.swing.JButton();
|
|
|
- jPanel1 = new javax.swing.JPanel();
|
|
|
+ seekBar = new javax.swing.JSlider();
|
|
|
+ btnPlayPause = new javax.swing.JButton();
|
|
|
+ btnSkip = new javax.swing.JButton();
|
|
|
+ btnShowList = new javax.swing.JButton();
|
|
|
+ pnlCoverPicture = new javax.swing.JPanel();
|
|
|
+ lblTrackName = new javax.swing.JLabel();
|
|
|
+ lblStatus = new javax.swing.JLabel();
|
|
|
|
|
|
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
|
|
|
|
|
|
- jButton1.setText("Play");
|
|
|
- jButton1.addActionListener(new java.awt.event.ActionListener()
|
|
|
+ btnPlayPause.setText("Play");
|
|
|
+ btnPlayPause.addActionListener(new java.awt.event.ActionListener()
|
|
|
{
|
|
|
public void actionPerformed(java.awt.event.ActionEvent evt)
|
|
|
{
|
|
|
- jButton1ActionPerformed(evt);
|
|
|
+ btnPlayPauseActionPerformed(evt);
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- jButton2.setText("Skip");
|
|
|
+ btnSkip.setText("Skip");
|
|
|
|
|
|
- jButton3.setText("Show List");
|
|
|
+ btnShowList.setText("Show List");
|
|
|
|
|
|
- javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
|
|
|
- jPanel1.setLayout(jPanel1Layout);
|
|
|
- jPanel1Layout.setHorizontalGroup(
|
|
|
- jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
+ javax.swing.GroupLayout pnlCoverPictureLayout = new javax.swing.GroupLayout(pnlCoverPicture);
|
|
|
+ pnlCoverPicture.setLayout(pnlCoverPictureLayout);
|
|
|
+ pnlCoverPictureLayout.setHorizontalGroup(
|
|
|
+ pnlCoverPictureLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
.addGap(0, 186, Short.MAX_VALUE)
|
|
|
);
|
|
|
- jPanel1Layout.setVerticalGroup(
|
|
|
- jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
+ pnlCoverPictureLayout.setVerticalGroup(
|
|
|
+ pnlCoverPictureLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
.addGap(0, 171, Short.MAX_VALUE)
|
|
|
);
|
|
|
|
|
|
+ lblTrackName.setText("No Track loaded");
|
|
|
+
|
|
|
+ lblStatus.setText("--:--/--:--");
|
|
|
+
|
|
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
|
|
getContentPane().setLayout(layout);
|
|
|
layout.setHorizontalGroup(
|
|
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
|
|
+ .addGroup(layout.createSequentialGroup()
|
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
.addGroup(layout.createSequentialGroup()
|
|
|
- .addContainerGap(127, Short.MAX_VALUE)
|
|
|
- .addComponent(jButton3)
|
|
|
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
|
- .addComponent(jButton2)
|
|
|
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
|
- .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
|
- .addComponent(jSlider1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
|
|
- .addGap(24, 24, 24))
|
|
|
+ .addContainerGap()
|
|
|
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
|
|
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
+ .addGroup(layout.createSequentialGroup()
|
|
|
+ .addGap(0, 117, Short.MAX_VALUE)
|
|
|
+ .addComponent(btnShowList)
|
|
|
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
|
+ .addComponent(btnSkip))
|
|
|
+ .addComponent(lblTrackName, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
|
|
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
|
+ .addComponent(btnPlayPause, javax.swing.GroupLayout.PREFERRED_SIZE, 123, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
|
+ .addGroup(layout.createSequentialGroup()
|
|
|
+ .addComponent(pnlCoverPicture, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
+ .addGap(0, 0, Short.MAX_VALUE))))
|
|
|
+ .addComponent(seekBar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
|
|
+ .addContainerGap())
|
|
|
.addGroup(layout.createSequentialGroup()
|
|
|
.addContainerGap()
|
|
|
- .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
+ .addComponent(lblStatus, javax.swing.GroupLayout.PREFERRED_SIZE, 367, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
|
|
);
|
|
|
layout.setVerticalGroup(
|
|
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
.addGroup(layout.createSequentialGroup()
|
|
|
.addContainerGap()
|
|
|
- .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
|
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
|
|
- .addComponent(jButton2)
|
|
|
- .addComponent(jButton3))
|
|
|
+ .addComponent(pnlCoverPicture, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
+ .addGap(18, 30, Short.MAX_VALUE)
|
|
|
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
|
|
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
|
|
- .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
+ .addComponent(lblTrackName, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
|
+ .addGap(18, 18, 18)
|
|
|
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
|
|
+ .addComponent(btnSkip)
|
|
|
+ .addComponent(btnShowList)))
|
|
|
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
|
|
+ .addComponent(btnPlayPause, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
.addGap(2, 2, 2)))
|
|
|
- .addComponent(jSlider1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
- .addContainerGap())
|
|
|
+ .addComponent(seekBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
|
+ .addComponent(lblStatus, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
|
);
|
|
|
|
|
|
pack();
|
|
|
}// </editor-fold>//GEN-END:initComponents
|
|
|
|
|
|
- private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_jButton1ActionPerformed
|
|
|
- {//GEN-HEADEREND:event_jButton1ActionPerformed
|
|
|
- // TODO add your handling code here:
|
|
|
- }//GEN-LAST:event_jButton1ActionPerformed
|
|
|
+ private void btnPlayPauseActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnPlayPauseActionPerformed
|
|
|
+ {//GEN-HEADEREND:event_btnPlayPauseActionPerformed
|
|
|
+ if(!backendReady)
|
|
|
+ {
|
|
|
+ btnPlayPause.setEnabled(false);
|
|
|
+ new Thread(() ->
|
|
|
+ {
|
|
|
+ iZplGUIBackend.initBackend(iZplGUIBackend.MODE_VLC_EMBEDDED);
|
|
|
+ backendReady=true;
|
|
|
+ iZplGUIBackend.skipTitle();
|
|
|
+
|
|
|
+ btnPlayPause.setEnabled(true);
|
|
|
+ }).start();
|
|
|
+ }
|
|
|
+ }//GEN-LAST:event_btnPlayPauseActionPerformed
|
|
|
|
|
|
/**
|
|
|
* @param args the command line arguments
|
|
@@ -156,10 +188,12 @@ public class iZplGUIDefault extends javax.swing.JFrame
|
|
|
});
|
|
|
}
|
|
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
|
|
- private javax.swing.JButton jButton1;
|
|
|
- private javax.swing.JButton jButton2;
|
|
|
- private javax.swing.JButton jButton3;
|
|
|
- private javax.swing.JPanel jPanel1;
|
|
|
- private javax.swing.JSlider jSlider1;
|
|
|
+ private javax.swing.JButton btnPlayPause;
|
|
|
+ private javax.swing.JButton btnShowList;
|
|
|
+ private javax.swing.JButton btnSkip;
|
|
|
+ private javax.swing.JLabel lblStatus;
|
|
|
+ private javax.swing.JLabel lblTrackName;
|
|
|
+ private javax.swing.JPanel pnlCoverPicture;
|
|
|
+ private javax.swing.JSlider seekBar;
|
|
|
// End of variables declaration//GEN-END:variables
|
|
|
}
|