Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Here is what I came out with thus far. The red box is where I plan to add a simple 2D avatar interface with LWJGL. </p> <p><img src="https://i.stack.imgur.com/9Dsbw.png" alt="enter image description here"></p> <p>Here is the code for it</p> <pre><code>package com.client.core; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; public class Window extends JFrame{ private int screenWidth = 800; private int screenHeight = 600; public Window(){ //Initial Setup super("NAMEHERE - Chat Client Alpha v0.0.1"); setResizable(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(screenWidth,screenHeight); //Main Panels JPanel window = new JPanel(new BorderLayout()); JPanel center = new JPanel(new BorderLayout()); JPanel right = new JPanel(new BorderLayout()); //Panels JPanel display = new JPanel( new BorderLayout()); display.setBackground(Color.red); JPanel chat = new JPanel(); chat.setLayout(new BoxLayout(chat, BoxLayout.Y_AXIS)); chat.setBackground(Color.blue); JPanel users = new JPanel(new BorderLayout()); users.setBackground(Color.green); //TextFields JTextArea chatBox = new JTextArea("Welcome to the chat!", 7,50); chatBox.setEditable(false); JTextField chatWrite = new JTextField(); JScrollPane userList = new JScrollPane(); JTextField userSearch = new JTextField(10); userList.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); users.add(userList); users.add(userSearch, BorderLayout.NORTH); chat.add(chatBox); chat.add(chatWrite); chat.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1)); //Menu bar JMenuBar menu = new JMenuBar(); JMenu file = new JMenu("File"); JMenuItem exit = new JMenuItem("Exit"); JMenuItem ipconnect = new JMenuItem("Connect to IP"); file.add(ipconnect); file.add(exit); menu.add(file); //Main window adding right.add(users); center.add(display, BorderLayout.CENTER); center.add(chat, BorderLayout.SOUTH); window.add(center, BorderLayout.CENTER); window.add(right, BorderLayout.EAST); window.add(menu, BorderLayout.NORTH); add(window); //Listeners chatWrite.addKeyListener(new KeyLis()); ipconnect.addActionListener(new ActLis()); exit.addActionListener(new ActLis()); } static class KeyLis implements KeyListener{ @Override public void keyPressed(KeyEvent e) { if(e.getKeyCode() == KeyEvent.VK_ENTER){ System.out.println("Message recieved."); } } @Override public void keyReleased(KeyEvent e) { // TODO Auto-generated method stub } @Override public void keyTyped(KeyEvent e) { // TODO Auto-generated method stub } } static class ActLis implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { if(e.getActionCommand() == "Exit"){ System.exit(0); } else if(e.getActionCommand() == "Connect to IP"){ System.out.println("Connecting...."); JFrame frameip = new JFrame(); JPanel panelip = new JPanel(); JButton buttonip = new JButton("Hello"); frameip.add(panelip); panelip.add(buttonip); JDialog ippop = new JDialog(frameip, "Enter IP", false); } } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload