fork download
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4.  
  5. class SwingIO extends JFrame {
  6. private final JTextArea output = new JTextArea(10, 30);
  7. private final JTextField input = new JTextField(30);
  8. private final JButton send = new JButton("Send");
  9.  
  10. public SwingIO() {
  11. super("IO Interface");
  12. output.setEditable(false);
  13. JScrollPane scroll = new JScrollPane(output);
  14.  
  15. send.addActionListener(e -> {
  16. String text = input.getText();
  17. if (!text.isBlank()) {
  18. output.append(text + "\n");
  19. input.setText("");
  20. }
  21. });
  22.  
  23. JPanel panel = new JPanel(new BorderLayout());
  24. panel.add(input, BorderLayout.CENTER);
  25. panel.add(send, BorderLayout.EAST);
  26.  
  27. setLayout(new BorderLayout());
  28. add(scroll, BorderLayout.CENTER);
  29. add(panel, BorderLayout.SOUTH);
  30. pack();
  31. setDefaultCloseOperation(EXIT_ON_CLOSE);
  32. setLocationRelativeTo(null);
  33. setVisible(true);
  34. }
  35.  
  36. public static void main(String[] args) {
  37. SwingUtilities.invokeLater(SwingIO::new);
  38. }
  39. }
  40.  
Success #stdin #stdout #stderr 0.23s 67416KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Exception in thread "AWT-EventQueue-0" java.awt.HeadlessException: 
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
	at java.desktop/java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:197)
	at java.desktop/java.awt.Window.<init>(Window.java:538)
	at java.desktop/java.awt.Frame.<init>(Frame.java:423)
	at java.desktop/javax.swing.JFrame.<init>(JFrame.java:224)
	at SwingIO.<init>(Main.java:11)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:389)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)