为了账号安全,请及时绑定邮箱和手机立即绑定

如何在没有类的情况下使用另一个类的方法

如何在没有类的情况下使用另一个类的方法

慕沐林林 2021-08-25 18:09:24
我有一个方法 showMessage() 将字符串附加到 JTextArea 上,我想在我的“类中的类”(ServerThread)中调用它。如果没有 Main main,我怎么能做到这一点;或 Main main = new Main();public class Main extends JFrame {private static final long serialVersionUID = 1L;private JTextArea chatWindow;private List<Integer> ports = new ArrayList<Integer>();public Main() throws IOException {    super("ServerConsole");    chatWindow = new JTextArea();    chatWindow.setEditable(false);    JScrollPane scrollPane = new JScrollPane(chatWindow);    scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);    scrollPane.setBounds(0, 20, 596, 200);    add(scrollPane);    setLayout(null);    setSize(600, 300);    setResizable(false);    setVisible(true);    getContentPane().setBackground(Color.white);    Socket s = null;    ServerSocket ss2 = null;    showMessage("Server Listening......\n");    try {        ss2 = new ServerSocket(3175);    } catch (IOException e) {        e.printStackTrace();        showMessage("Server error");    }    while (true) {        try {            s = ss2.accept();            showMessage("connection Established\n");            ports.add(s.getPort());            ServerThread st = new ServerThread(s);            st.start();        }        catch (Exception e) {            e.printStackTrace();            showMessage("Connection Error");        }    }}public void showMessage(final String m) {    SwingUtilities.invokeLater(new Runnable() {        public void run() {            chatWindow.append(m);        }    });}}class ServerThread extends Thread {private ObjectOutputStream output;private ObjectInputStream input;Socket s = null;private static LinkedHashMap<Integer, String> playerCoords = new LinkedHashMap<Integer, String>();public ServerThread(Socket s) {    this.s = s;}public void run() {}}示例:在 run 方法中,我想要像 main.showMessage(string) 这样的东西,而无需声明 Main 对象。
查看完整描述

2 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

只需将您的方法声明为 static

public static void showMessage(final String m)

这样,你可以这样称呼它——

Main.showMessage("Some String");


查看完整回答
反对 回复 2021-08-25
  • 2 回答
  • 0 关注
  • 152 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信