codice:
public class ChatLayout extends JApplet {
private UtentiTableModel utentiModel = new UtentiTableModel();
private EffettuateTableModel effettuateModel = new EffettuateTableModel();
private RicevuteTableModel ricevuteModel = new RicevuteTableModel();
private JTextField txtComando = new JTextField();
private JButton cmdInvia = new JButton();
private JScrollPane scrSfideEffettuate = new JScrollPane();
private JScrollPane scrSfideRicevute = new JScrollPane();
private JTable tblSfideEffettuate = new JTable(effettuateModel);
private JTable tblSfideRicevute = new JTable(ricevuteModel);
private JScrollPane scrChat = new JScrollPane();
private JScrollPane scrUtenti = new JScrollPane();
private JTable tblUtenti = new JTable(utentiModel);
private JButton cmdSfida = new JButton();
private CommandHandler handlerButton = new CommandHandler();
private String[] tempi = { "1", "2", "3", "5", "10", "15", "20", "30", "60" };
private JComboBox cboTempiSfida = new JComboBox(tempi);
private String[] colori = {"bianco", "nero"};
private JComboBox cboColore = new JComboBox(colori);
private JTextPane txtChat = new JTextPane();
private StyledDocument doc = txtChat.getStyledDocument();
private ButtonEditor buttonEditor = new ButtonEditor(new JCheckBox());
private JPanel pnlChat = new JPanel();
private JPanel pnlUtenti = new JPanel();
private JSplitPane splitSfide;
private JSplitPane splitChat;
private JSplitPane splitUtenti;
private void Init() throws Exception {
GridBagLayout gridbagLayout = new GridBagLayout();
GridBagConstraints constraints = new GridBagConstraints();
int sp = 5;
int defH = 20;
this.applet.getContentPane().setLayout(gridbagLayout);
this.applet.setSize(new Dimension(850, 375));
pnlChat.setLayout(gridbagLayout);
//pnlChat.setBounds(new Rectangle(sp, sp, defH * 15, defH * 15));
pnlChat.setBorder(
BorderFactory.createCompoundBorder(
BorderFactory.createCompoundBorder(
BorderFactory.createTitledBorder("Chat"),
BorderFactory.createEmptyBorder(5,5,5,5)),
pnlChat.getBorder()));
//this.applet.getContentPane().add(pnlChat, null);
scrChat.getViewport().add(txtChat, null);
constraints.anchor = GridBagConstraints.NORTHWEST;
constraints.fill = GridBagConstraints.BOTH;
setComponent(gridbagLayout, constraints, scrChat
,0 ,0, 2, 1
,1000.0, 1000.0 );
pnlChat.add(scrChat, null);
constraints.anchor = GridBagConstraints.SOUTHWEST;
constraints.fill = GridBagConstraints.BOTH;
setComponent(gridbagLayout, constraints, txtComando
,0 , 1, 1, 1
,1000.0, 0 );
pnlChat.add(txtComando, null);
constraints.anchor = GridBagConstraints.SOUTHEAST;
constraints.fill = GridBagConstraints.BOTH;
setComponent(gridbagLayout, constraints, cmdInvia
,1 ,1 ,1 ,1
,(double)(sp * 15), 0);
pnlChat.add(cmdInvia, null);
cmdInvia.setText("Invia");
scrSfideEffettuate.setBorder(
BorderFactory.createCompoundBorder(
BorderFactory.createCompoundBorder(
BorderFactory.createTitledBorder("Sfide effettuate"),
BorderFactory.createEmptyBorder(5,5,5,5)),
scrSfideEffettuate.getBorder()));
scrSfideEffettuate.getViewport().add(tblSfideEffettuate, null);
scrSfideRicevute.setBorder(
BorderFactory.createCompoundBorder(
BorderFactory.createCompoundBorder(
BorderFactory.createTitledBorder("Sfide ricevute"),
BorderFactory.createEmptyBorder(5,5,5,5)),
scrSfideRicevute.getBorder()));
scrSfideRicevute.getViewport().add(tblSfideRicevute, null);
splitSfide = new JSplitPane(JSplitPane.VERTICAL_SPLIT,
scrSfideEffettuate,
scrSfideRicevute);
splitSfide.setOneTouchExpandable(true);
splitSfide.setResizeWeight(0.5);
splitSfide.setBounds(new Rectangle(pnlChat.getX() + pnlChat.getWidth() + sp,
sp,
defH * 15,
defH * 15 ));
//this.applet.getContentPane().add(splitSfide, null);
splitChat = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
pnlChat,
splitSfide);
splitChat.setOneTouchExpandable(true);
splitChat.setResizeWeight(0.5);
splitChat.setBounds(new Rectangle(sp,
sp,
splitSfide.getWidth()*2,
splitSfide.getHeight() ));
//this.applet.getContentPane().add(splitChat, null);
pnlUtenti.setLayout(gridbagLayout);
pnlUtenti.setBounds(new Rectangle(splitChat.getX() + splitChat.getWidth() + sp
, sp, defH * 10, splitChat.getHeight()));
pnlUtenti.setBorder(
BorderFactory.createCompoundBorder(
BorderFactory.createCompoundBorder(
BorderFactory.createTitledBorder("Utenti"),
BorderFactory.createEmptyBorder(5,5,5,5)),
pnlUtenti.getBorder()));
//this.applet.getContentPane().add(pnlUtenti, null);
scrUtenti.getViewport().add(tblUtenti, null);
constraints.anchor = GridBagConstraints.NORTHWEST;
constraints.fill = GridBagConstraints.BOTH;
setComponent(gridbagLayout, constraints, scrUtenti
,0 ,0, 3, 1
,1000.0, 1000.0 );
pnlUtenti.add(scrUtenti, null);
constraints.anchor = GridBagConstraints.SOUTHWEST;
constraints.fill = GridBagConstraints.BOTH;
setComponent(gridbagLayout, constraints, cboTempiSfida
,0 , 1, 1, 1
,(double)(sp * 9), 0 );
pnlUtenti.add(cboTempiSfida, null);
constraints.anchor = GridBagConstraints.SOUTH;
constraints.fill = GridBagConstraints.BOTH;
setComponent(gridbagLayout, constraints, cboColore
,1 , 1, 1, 1
,(double)(sp*15), 0 );
pnlUtenti.add(cboColore, null);
constraints.anchor = GridBagConstraints.SOUTHEAST;
constraints.fill = GridBagConstraints.BOTH;
setComponent(gridbagLayout, constraints, cmdSfida
,2 , 1, 1, 1
,(double)(sp*15), 0 );
pnlUtenti.add(cmdSfida, null);
cmdSfida.setText("Sfida");
splitUtenti = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
splitChat,
pnlUtenti);
splitUtenti.setOneTouchExpandable(true);
splitUtenti.setResizeWeight(0.5);
splitUtenti.setBounds(new Rectangle(sp,
sp,
splitSfide.getWidth()*3,
splitSfide.getHeight() ));
constraints.anchor = GridBagConstraints.NORTHWEST;
constraints.fill = GridBagConstraints.BOTH;
setComponent(gridbagLayout, constraints, splitUtenti
,0 , 0, 1, 1
,1000.0, 1000.0 );
this.applet.getContentPane().add(splitUtenti, null);
splitSfide.setDividerLocation(600);
splitUtenti.setDividerLocation(300);
splitChat.setDividerLocation(300);
}
}