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)ボタン(フィールド)をクリックしてからOK .

ここに画像の説明を入力

于 2013-04-11T15:08:34.293 に答える