1

编辑 - @Heuster链接了另一个回答这个问题的问题。

我刚刚发现了 WindowBuilder,我正在制作一个简单的聊天客户端,用它来自学。现在我已经完成了基本的聊天框架,但只有我添加的一些组件可以在代码中访问。具体来说,我无法访问我的输入 JTextArea,taInput。我需要做些什么才能引用它(以获取其中的文本以进行发送等)?

这是设计视图的图片:

这是生成的代码:

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.ScrollPaneConstants;
import javax.swing.border.EmptyBorder;

public class frame extends JFrame
{

    private JPanel contentPane;
    private JButton btnSend;
    private JTextArea taDisplay;

    /**
     * Launch the application.
     */
    public static void main(String[] args)
    {
        EventQueue.invokeLater(new Runnable()
        {
            public void run()
            {
                try
                {
                    frame frame = new frame();
                    frame.setVisible(true);
                }
                catch (Exception e)
                {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public frame()
    {
        setResizable(false);
        setTitle("Client");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 440, 316);

        JMenuBar menuBar = new JMenuBar();
        setJMenuBar(menuBar);

        JMenu mnFile = new JMenu("File");
        menuBar.add(mnFile);

        JMenuItem mntmConnect = new JMenuItem("Connect...");
        mnFile.add(mntmConnect);

        JMenuItem mntmSaveChatLog = new JMenuItem("Save chat log...");
        mnFile.add(mntmSaveChatLog);

        JMenuItem mntmSettings = new JMenuItem("Settings...");
        mnFile.add(mntmSettings);

        JMenuItem mntmClose = new JMenuItem("Close");
        mnFile.add(mntmClose);

        JMenu mnEdit = new JMenu("Edit");
        menuBar.add(mnEdit);

        JMenu mnView = new JMenu("View");
        menuBar.add(mnView);

        JMenu mnHelp = new JMenu("Help");
        menuBar.add(mnHelp);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        contentPane.setLayout(new BorderLayout(0, 0));
        setContentPane(contentPane);

        JPanel panel = new JPanel();
        contentPane.add(panel, BorderLayout.CENTER);
        panel.setLayout(null);

        btnSend = new JButton("Send");
        btnSend.addMouseListener(new MouseAdapter()
        {
            @Override
            public void mouseClicked(MouseEvent arg0)
            {
                taDisplay.append("Send clicked.\n");
            }
        });
        btnSend.setBounds(314, 197, 100, 50);
        panel.add(btnSend);

        taDisplay = new JTextArea();
        taDisplay.setLineWrap(true);
        taDisplay.setEditable(false);
        taDisplay.setBounds(10, 11, 404, 180);
        panel.add(taDisplay);

        JScrollPane spInput = new JScrollPane();
        spInput.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        spInput.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
        spInput.setBounds(10, 197, 294, 49);
        panel.add(spInput);

        JTextArea taInput = new JTextArea();
        taInput.setLineWrap(true);
        spInput.setViewportView(taInput);
    }
}
4

1 回答 1

1

从设计选项卡中,您可以右键单击项目(taInput),然后单击上下文菜单上的重命名,在对话框中,在名称右侧有 2 个按钮,单击(f)按钮(字段),然后确定.

在此处输入图像描述

于 2013-04-11T15:08:34.293 回答