fork download
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5.  
  6. public class Main {
  7.  
  8. public static void main(String[] args) {
  9. SwingUtilities.invokeLater(new Runnable() {
  10. @Override
  11. public void run() {
  12. new ChatbotAI();
  13. }
  14. });
  15. }
  16. }
  17.  
  18. class ChatbotAI extends JFrame {
  19.  
  20. private JTextField userInput;
  21. private JTextArea chatArea;
  22.  
  23. public ChatbotAI() {
  24. setTitle("Chatbot AI");
  25. setSize(400, 400);
  26. setDefaultCloseOperation(EXIT_ON_CLOSE);
  27. setResizable(false);
  28.  
  29. userInput = new JTextField();
  30. userInput.setPreferredSize(new Dimension(380, 30));
  31. userInput.setFont(new Font("Arial", Font.PLAIN, 14));
  32. userInput.addActionListener(new ActionListener() {
  33. @Override
  34. public void actionPerformed(ActionEvent e) {
  35. String input = userInput.getText();
  36. chatArea.append("User: " + input + "\n");
  37. respondToUser(input);
  38. userInput.setText("");
  39. }
  40. });
  41.  
  42. chatArea = new JTextArea();
  43. chatArea.setEditable(false);
  44. chatArea.setFont(new Font("Arial", Font.PLAIN, 14));
  45. chatArea.setLineWrap(true);
  46. chatArea.setWrapStyleWord(true);
  47.  
  48. JScrollPane scrollPane = new JScrollPane(chatArea);
  49. scrollPane.setPreferredSize(new Dimension(380, 330));
  50.  
  51. setLayout(new BorderLayout());
  52. add(userInput, BorderLayout.NORTH);
  53. add(scrollPane, BorderLayout.CENTER);
  54.  
  55. getContentPane().setBackground(new Color(240, 240, 240));
  56.  
  57. setVisible(true);
  58. }
  59.  
  60. private void respondToUser(String input) {
  61. // Add your AI logic here to generate responses to user input
  62. String response = "I am just a simple chatbot AI!";
  63. chatArea.append("Chatbot: " + response + "\n");
  64. }
  65. }
  66.  
Success #stdin #stdout #stderr 0.33s 67344KB
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/java.awt.Frame.<init>(Frame.java:388)
	at java.desktop/javax.swing.JFrame.<init>(JFrame.java:180)
	at ChatbotAI.<init>(Main.java:23)
	at Main$1.run(Main.java:12)
	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)