import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; import javax.swing.text.*; public class Transmisja extends JFrame implements ActionListener { private JPanel panelRx, panelTx; private JLabel labelTop, labelCntTx, labelCntRx; private JButton button1; private JTextField counterTx, counterRx; private JTextArea areaTx, areaRx; private JScrollPane scrollTx, scrollRx; private TitledBorder titleTx, titleRx; private int cntTx, cntRx; private void updateCounters() { counterTx.setText(""+cntTx); counterRx.setText(""+cntRx); } public Transmisja() { super("Transmisja Danych"); Container c = getContentPane(); c.setLayout(new BorderLayout()); panelRx = new JPanel(); panelTx = new JPanel(); titleRx = BorderFactory.createTitledBorder("Okno odbierania"); titleTx = BorderFactory.createTitledBorder("Okno wysyłania"); areaTx = new JTextArea(10, 40); areaRx = new JTextArea(10, 40); areaRx.setEditable(false); areaTx.setEditable(true); areaTx.addKeyListener(new KeyListener() { public void keyTyped(KeyEvent e) { char c = e.getKeyChar(); areaRx.setText(areaRx.getText()+c); } public void keyReleased(KeyEvent e) { } public void keyPressed(KeyEvent e) { } }); areaTx.setLineWrap(true); areaTx.setWrapStyleWord(true); areaRx.setLineWrap(true); areaRx.setWrapStyleWord(true); scrollTx = new JScrollPane(areaTx); scrollRx = new JScrollPane(areaRx); scrollTx.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); scrollTx.setPreferredSize(new Dimension(400, 200)); scrollRx.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); scrollRx.setPreferredSize(new Dimension(400, 200)); counterTx = new JTextField(2); counterRx = new JTextField(2); counterTx.setEditable(false); counterRx.setEditable(false); labelTop = new JLabel("Transmisja Danych, (c) 2006 Paweł Maziarz, Andrzej Szklarz"); labelCntTx = new JLabel("odebranych bajtów"); labelCntRx = new JLabel("wysłanych bajtów"); button1 = new JButton("Zakończ!"); button1.setBackground(Color.GRAY); button1.setMnemonic('R'); button1.addActionListener(this);/*(new ActionListener() { public void actionPerformed(ActionEvent e) { } }); */ panelRx.setLayout(new BorderLayout()); panelTx.setLayout(new BorderLayout()); panelRx.setBorder(titleRx); panelRx.add(labelCntRx, BorderLayout.LINE_START); panelRx.add(counterRx, BorderLayout.LINE_END); panelRx.add(scrollRx, BorderLayout.PAGE_END); panelTx.setBorder(titleTx); panelTx.add(labelCntTx, BorderLayout.LINE_START); panelTx.add(counterTx, BorderLayout.LINE_END); panelTx.add(scrollTx, BorderLayout.PAGE_END); c.add(labelTop, BorderLayout.PAGE_START); c.add(panelTx, BorderLayout.LINE_START); c.add(panelRx, BorderLayout.LINE_END); updateCounters(); } public void actionPerformed(ActionEvent e) { } public static void main(String[] args) { try { UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName()); } catch (Exception e) { } Transmisja app = new Transmisja(); app.setDefaultCloseOperation(EXIT_ON_CLOSE); app.pack(); app.setVisible(true); } }