/* * U1Applet.java * * Created on den 29 augusti 2001, 10:44 */ package ip1.u1; /** * * @author h&m */ public class U1Applet extends javax.swing.JApplet { // Skapar en U1Applet, initierar det grafiska användargränssnittet samt skapar en kontrollklass public U1Applet() { initComponents(); controller = new ThreadController(this); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ private void initComponents() {//GEN-BEGIN:initComponents buttonPanel = new javax.swing.JPanel(); thread1Button = new javax.swing.JButton(); thread2Button = new javax.swing.JButton(); jScrollPane2 = new javax.swing.JScrollPane(); text = new javax.swing.JTextArea(); getContentPane().setLayout(new java.awt.GridBagLayout()); java.awt.GridBagConstraints gridBagConstraints1; thread1Button.setText("Aktivera utskrift fr\u00e5n tr\u00e5d 1"); thread1Button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { thread1ButtonActionPerformed(evt); } }); buttonPanel.add(thread1Button); thread2Button.setText("Aktivera utskrift fr\u00e5n tr\u00e5d 2"); thread2Button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { thread2ButtonActionPerformed(evt); } }); buttonPanel.add(thread2Button); gridBagConstraints1 = new java.awt.GridBagConstraints(); gridBagConstraints1.gridx = 0; gridBagConstraints1.gridy = 1; gridBagConstraints1.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints1.anchor = java.awt.GridBagConstraints.SOUTH; getContentPane().add(buttonPanel, gridBagConstraints1); jScrollPane2.setViewportView(text); gridBagConstraints1 = new java.awt.GridBagConstraints(); gridBagConstraints1.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints1.weightx = 1.0; gridBagConstraints1.weighty = 1.0; getContentPane().add(jScrollPane2, gridBagConstraints1); }//GEN-END:initComponents /* Aktiveras när användaren trycker på "tråd 1"-knappen (klass som ärver Thread) * GUIet meddelar kontrollklassen att växla mellan av och på. Kontrollklassen svarar * på anropet med en boolean, om på skickas true och om av skickas false, beroende på * detta sätts texten på knappen. */ private void thread1ButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_thread1ButtonActionPerformed if(controller.toggleThread()) thread1Button.setText("Deaktivera utskrift från tråd 1"); else thread1Button.setText("Aktivera utskrift från tråd 1"); }//GEN-LAST:event_thread1ButtonActionPerformed /* Aktiveras när användaren trycker på "tråd 2"-knappen (klass som implementerar Runnable) * GUIet meddelar kontrollklassen att växla mellan av och på. Kontrollklassen svarar * på anropet med en boolean, om på skickas true och om av skickas false, beroende på * detta sätts texten på knappen. */ private void thread2ButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_thread2ButtonActionPerformed if(controller.toggleRunnable()) thread2Button.setText("Deaktivera utskrift från tråd 2"); else thread2Button.setText("Aktivera utskrift från tråd 2"); }//GEN-LAST:event_thread2ButtonActionPerformed // Lägger till message i GUIets textarea public void appendMessage(String message) { text.append(message + '\n'); text.setCaretPosition(text.getText().length()); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JPanel buttonPanel; private javax.swing.JButton thread1Button; private javax.swing.JButton thread2Button; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JTextArea text; // End of variables declaration//GEN-END:variables private ThreadController controller; }