diff options
Diffstat (limited to 'subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/StatusPanel.java')
-rw-r--r-- | subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/StatusPanel.java | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/StatusPanel.java b/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/StatusPanel.java deleted file mode 100644 index f20671f8..00000000 --- a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/StatusPanel.java +++ /dev/null @@ -1,115 +0,0 @@ -package net.sourceforge.subsonic.booter.mac; - -import java.awt.Color; -import java.awt.Desktop; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.net.URI; -import java.text.DateFormat; -import java.util.Locale; - -import javax.swing.JButton; -import javax.swing.JPanel; -import javax.swing.JTextArea; -import javax.swing.JTextField; -import javax.swing.SwingConstants; -import javax.swing.Timer; - -import com.jgoodies.forms.builder.DefaultFormBuilder; -import com.jgoodies.forms.factories.Borders; -import com.jgoodies.forms.layout.FormLayout; - -import net.sourceforge.subsonic.booter.deployer.DeploymentStatus; -import net.sourceforge.subsonic.booter.deployer.SubsonicDeployerService; - -/** - * Panel displaying the status of the Subsonic service. - * - * @author Sindre Mehus - */ -public class StatusPanel extends JPanel { - - private static final DateFormat DATE_FORMAT = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.US); - - private final SubsonicDeployerService deployer; - - private JTextField startedTextField; - private JTextField memoryTextField; - private JTextArea errorTextField; - private JButton urlButton; - - public StatusPanel(SubsonicDeployerService deployer) { - this.deployer = deployer; - createComponents(); - configureComponents(); - layoutComponents(); - addBehaviour(); - } - - private void createComponents() { - startedTextField = new JTextField(); - memoryTextField = new JTextField(); - errorTextField = new JTextArea(3, 24); - urlButton = new JButton(); - } - - private void configureComponents() { - startedTextField.setEditable(false); - memoryTextField.setEditable(false); - errorTextField.setEditable(false); - - errorTextField.setLineWrap(true); - errorTextField.setBorder(startedTextField.getBorder()); - - urlButton.setBorderPainted(false); - urlButton.setContentAreaFilled(false); - urlButton.setForeground(Color.BLUE.darker()); - urlButton.setHorizontalAlignment(SwingConstants.LEFT); - } - - private void layoutComponents() { - FormLayout layout = new FormLayout("right:d, 6dlu, max(d;30dlu):grow"); - DefaultFormBuilder builder = new DefaultFormBuilder(layout, this); - builder.append("Started on", startedTextField); - builder.append("Memory used", memoryTextField); - builder.append("Error message", errorTextField); - builder.append("Server address", urlButton); - - setBorder(Borders.DIALOG_BORDER); - } - - private void addBehaviour() { - urlButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - openBrowser(); - } - }); - - Timer timer = new Timer(3000, new ActionListener() { - public void actionPerformed(ActionEvent e) { - updateStatus(deployer.getDeploymentInfo()); - } - }); - updateStatus(deployer.getDeploymentInfo()); - timer.start(); - } - - private void openBrowser() { - String url = urlButton.getText(); - if (url == null) { - return; - } - try { - Desktop.getDesktop().browse(new URI(url)); - } catch (Throwable x) { - x.printStackTrace(); - } - } - - private void updateStatus(DeploymentStatus status) { - startedTextField.setText(status == null ? null : DATE_FORMAT.format(status.getStartTime())); - memoryTextField.setText(status == null ? null : status.getMemoryUsed() + " MB"); - errorTextField.setText(status == null ? null : status.getErrorMessage()); - urlButton.setText(status == null ? null : status.getURL()); - } -}
\ No newline at end of file |