@@ -0,0 +1,1820 @@
+package com.apixandru.games.rummikub.swing;%0A%0Aimport javax.swing.BorderFactory;%0Aimport javax.swing.Box;%0Aimport javax.swing.BoxLayout;%0Aimport javax.swing.JButton;%0Aimport javax.swing.JFrame;%0Aimport javax.swing.JList;%0Aimport javax.swing.JPanel;%0Aimport javax.swing.JScrollPane;%0Aimport javax.swing.JSeparator;%0Aimport javax.swing.JToggleButton;%0Aimport javax.swing.SwingConstants;%0Aimport javax.swing.SwingUtilities;%0Aimport java.awt.BorderLayout;%0A%0A/**%0A * @author Alexandru-Constantin Bledea%0A * @since March 29, 2016%0A */%0Apublic class WaitingRoom extends JPanel %7B%0A%0A    private WaitingRoom() %7B%0A        super(new BorderLayout());%0A%0A        final JList%3CString%3E list = new JList%3C%3E();%0A        list.setVisibleRowCount(5);%0A        JScrollPane listScrollPane = new JScrollPane(list);%0A%0A        final JButton btnStart = new JButton(%22Start%22);%0A        final JToggleButton btnReady = new JToggleButton(%22Ready%22);%0A%0A        JPanel buttonPane = new JPanel();%0A        buttonPane.setLayout(new BoxLayout(buttonPane, BoxLayout.LINE_AXIS));%0A        buttonPane.add(btnReady);%0A        buttonPane.add(Box.createHorizontalStrut(5));%0A        buttonPane.add(new JSeparator(SwingConstants.VERTICAL));%0A        buttonPane.add(Box.createHorizontalStrut(5));%0A        buttonPane.add(btnStart);%0A        buttonPane.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));%0A%0A        add(listScrollPane, BorderLayout.CENTER);%0A        add(buttonPane, BorderLayout.PAGE_END);%0A    %7D%0A%0A    private static void createAndShowGUI() %7B%0A        JFrame frame = new JFrame(%22Waiting room%22);%0A        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);%0A        frame.setContentPane(new WaitingRoom());%0A%0A        frame.pack();%0A        frame.setVisible(true);%0A    %7D%0A%0A    public static void main(String%5B%5D args) %7B%0A        SwingUtilities.invokeLater(WaitingRoom::createAndShowGUI);%0A    %7D%0A%0A%7D%0A

add waiting room