Quote:
Originariamente inviato da Blackat
Mostra il codice
|
Eccolo con alcuni pezzi tolti... quelli che non interessano...
[...]
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
public class ASD
extends JFrame
{
private JLabel txtIp;
private JTextField txtPort;
private JToggleButton tbConn;
private JDialog dialog;
private JToggleButton stop;
private JToggleButton orario;
private JToggleButton antiorario;
[...]
private JLabel status;
private JLabel operation;
public PLCAgentFrame()
{
[...]
JPanel pserver=new JPanel();
pserver.setLayout(new GridLayout(0,3));
/** creazione di due JLabel e una JTextField */
pserver.add(txtIp=new JLabel(""));
pserver.add(new JLabel(" :"));
pserver.add(txtPort=new JTextField(""));
txtPort.setEditable(true);
/** aggiunta dell'ascoltatore al JTextField */
Document document = txtPort.getDocument();
document.addDocumentListener(new TextHandle());
pserver.setBorder(BorderFactory.createEtchedBorder(0));
pinfo.add(BorderLayout.SOUTH,pserver);
/** sub-pannello north-east */
JPanel pconn=new JPanel();
pconn.setLayout(new BorderLayout());
pconn.setBorder(BorderFactory.createEmptyBorder(10,10,10,0));
/** creazione del ToggleButton di connessione */
pconn.add(tbConn=new JToggleButton(new ImageIcon(
"../img/semaforo_rosso.gif"),false));
tbConn.setSelectedIcon(new ImageIcon("../img/semaforo_giallo.gif"));
tbConn.setToolTipText("Start Listening");
tbConn.addItemListener(new JToggleButtonListener());
tbConn.setEnabled(false);
psetup.add(BorderLayout.EAST,pconn);
[...]
}
/** ascoltatore del ToggleButton di connessione */
class JToggleButtonListener
implements ItemListener
{
public void itemStateChanged(ItemEvent e)
{
int status=e.getStateChange();
if(status==ItemEvent.SELECTED)
{
/** chiamata al metodo startListen() */
agentePLC.startListen();
txtIp.setEnabled(true);
txtPort.setEnabled(true);
txtPort.setEditable(false);
}
else
{
agentePLC.stopListen();
txtPort.setEditable(true);
}
}
}
[...]
/** ascoltatore della JTextArea txtPort */
class TextHandle implements DocumentListener
{
public void insertUpdate(DocumentEvent event){
String sString = txtPort.getText();
try{
/** settaggio della porta di connessione */
int iValue = Integer.parseInt(sString);
if (iValue != 0){
tbConn.setEnabled(true);
agentePLC.setPort(iValue);
}
}
catch(NumberFormatException nfe){
tbConn.setEnabled(false);
}
}
public void removeUpdate( DocumentEvent event )
{
if( txtPort.getText().length() == 0 ){
tbConn.setEnabled( false );
}
else
{
insertUpdate( event );
}
}
public void changedUpdate( DocumentEvent event )
{
}
}
[...]
}