运行条件:Java JDK 21,且存放程序的文件名为 DickSick.java
import javax.swing.*;
import javax.swing.border.LineBorder;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
public class DickSick {
private static JTextArea responseArea;
private static JCheckBox easyThink;
private static JCheckBox offlineSearch;
private static JTextField questionField;
private static void showDickSickScreen() {
JFrame frame = new JFrame("DeepSeek 残缺版 - DickSick");
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setLayout(new BorderLayout());
JPanel topPanel = new JPanel(new BorderLayout());
JLabel title = new JLabel("我不是 DickSick,很不高兴见到你!", JLabel.CENTER);
title.setFont(new Font("宋体", Font.BOLD, 20));
title.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0));
topPanel.add(title, BorderLayout.NORTH);
JLabel subtitle = new JLabel("我不可以帮你写代码、读文件、写作各种创意内容,请把你的任务交给 ChatGPT~", JLabel.CENTER);
subtitle.setFont(new Font("宋体", Font.PLAIN, 15));
topPanel.setBorder(new LineBorder(new Color(75, 159, 243), 4, true));
topPanel.add(subtitle, BorderLayout.SOUTH);
responseArea = new JTextArea();
responseArea.setEditable(false);
responseArea.setLineWrap(true);
responseArea.setWrapStyleWord(true);
responseArea.setFont(new Font("宋体", Font.PLAIN, 16));
responseArea.setText("欢迎使用 DickSick 残缺版!\n\n请在下方向我提问,并选择思考模式。");
responseArea.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
JScrollPane scrollPane = new JScrollPane(responseArea);
frame.add(scrollPane, BorderLayout.CENTER);
JPanel botPanel = new JPanel(new BorderLayout(10, 10));
botPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
JPanel inputPanel = new JPanel(new BorderLayout(10, 10));
questionField = new JTextField();
questionField.setFont(new Font("宋体", Font.PLAIN, 16));
inputPanel.add(new JLabel("请输入问题:"), BorderLayout.WEST);
inputPanel.add(questionField, BorderLayout.CENTER);
JButton button = new JButton("向 DickSick 询问");
button.setFont(new Font("宋体", Font.BOLD, 14));
button.addActionListener(new AskButtonListener());
inputPanel.add(button, BorderLayout.EAST);
JPanel optionsPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 15, 5));
optionsPanel.setBorder(BorderFactory.createTitledBorder("思考模式"));
easyThink = new JCheckBox("弱智思考");
easyThink.setFont(new Font("宋体", Font.PLAIN, 14));
easyThink.addItemListener(new CheckBoxListener());
offlineSearch = new JCheckBox("脱机思考");
offlineSearch.setFont(new Font("宋体", Font.PLAIN, 14));
offlineSearch.addItemListener(new CheckBoxListener());
ItemListener exclusiveListener = e -> {
if (e.getStateChange() == ItemEvent.SELECTED) {
JCheckBox source = (JCheckBox) e.getSource();
if (source == easyThink) {
offlineSearch.setSelected(false);
} else if (source == offlineSearch) {
easyThink.setSelected(false);
}
}
};
easyThink.addItemListener(exclusiveListener);
offlineSearch.addItemListener(exclusiveListener);
optionsPanel.add(easyThink);
optionsPanel.add(offlineSearch);
botPanel.add(inputPanel, BorderLayout.NORTH);
botPanel.add(optionsPanel, BorderLayout.SOUTH);
frame.add(topPanel, BorderLayout.NORTH);
frame.add(botPanel, BorderLayout.SOUTH);
frame.setVisible(true);
}
static class CheckBoxListener implements ItemListener {
@Override
public void itemStateChanged(ItemEvent e) {
JCheckBox source = (JCheckBox) e.getSource();
String mode = source.getText();
if (e.getStateChange() == ItemEvent.SELECTED) {
responseArea.append("\n\n已启用: " + mode + " 模式");
} else {
responseArea.append("\n\n已禁用: " + mode + " 模式");
}
}
}
static class AskButtonListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
String question = questionField.getText().trim();
if (question.isEmpty()) {
JOptionPane.showMessageDialog(null, "请输入问题!", "提示", JOptionPane.WARNING_MESSAGE);
return;
}
responseArea.append("\n\n问题: " + question);
responseArea.append("\n思考中...");
Timer timer = new Timer(1500, evt -> {
String response;
if (easyThink.isSelected()) {
response = generateEasyThinkResponse(question);
} else if (offlineSearch.isSelected()) {
response = generateOfflineResponse(question);
} else {
response = generateNormalResponse(question);
}
responseArea.append("\n回答: " + response);
responseArea.setCaretPosition(responseArea.getDocument().getLength());
});
timer.setRepeats(false);
timer.start();
}
}
private static String generateEasyThinkResponse(String question) {
String[] responses = {
"我不知道,我什么都不知道。",
"这个问题太难了,我不会。",
"我是DickSick,不是ChatGPT,我不会回答。",
"你可以问问别人吗?",
"嗯...让我想想...算了,不想了。",
"为什么你要问我这个问题?",
"我今天不想工作。",
"我的大脑离线中,请稍后再试。",
"这个问题需要更强大的AI来回答。",
"我只是一个装饰品,不会回答问题。"
};
return responses[(int) (Math.random() * responses.length)];
}
private static String generateOfflineResponse(String question) {
String[] responses = {
"[脱机模式] 无法连接到服务器。",
"[脱机模式] 请检查网络连接后重试。",
"[脱机模式] 本地缓存中没有找到相关答案。",
"[脱机模式] 此功能需要联网才能使用。",
"[脱机模式] 错误代码: 404 - 知识不存在",
"[脱机模式] 我正在假装思考...思考完毕,没有结果。",
"[脱机模式] 本地数据库为空。",
"[脱机模式] 请插入知识U盘以继续。",
"[脱机模式] 思维模块未安装。",
"[脱机模式] 需要下载更多RAM才能回答此问题。"
};
return responses[(int) (Math.random() * responses.length)];
}
private static String generateNormalResponse(String question) {
return "作为DickSick残缺版,我无法回答这个问题。请使用ChatGPT或其他AI助手。";
}
public static void main(String[] args) {
SwingUtilities.invokeLater(DickSick::showDickSickScreen);
}
}
共 7 条回复
虽然名字有点逆天,但是%%%%%%%%%%%%%%
%%%%%%
我没写 DickSuck 都算好的了 qwq
我知道 qwq
《DickSick》
lnk
你知道什么是dick吗……