如何在单击时将文本设置为文本字段的一个数组元素

时间:2017-10-25 06:52:21

标签: java user-interface jframe mouselistener

我无法让Mouse侦听器将文本设置为文本字段 但我可以得到颜色。

我需要两个但我无法弄清楚如何去做。

按钮设置单击文本框时将显示的文本和颜色

e.g。当您单击按钮时,它会将背景设置为蓝色,并为单击的组件添加文本“Chair”。

感谢您的帮助。

import javax.swing.*;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseAdapter;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import static javafx.scene.paint.Color.color;

public void mousePressed(MouseEvent e) {
    if (e.getSource() == btnBlue) {
        temp = Color.BLUE;
        tempString = "Chair";
    }
}

private void displayTextFields(SpringLayout layout, MouseListener listener) {
    // txtX = LocateAJTextField(this,null,layout,2,650,30);
    // txtY = LocateAJTextField(this,null,layout,2,680,30);
    for (int y = 0; y < totalY; y++) {
        for (int x = 0; x < totalX; x++) {
            int xPos = x * 26 + 200;
            int yPos = y * 20 + 100;
            fields[x][y] = LocateAJTextField(this, this, layout, 2, xPos, yPos);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我猜你没有改变Button中的文字,只是将它分配给一个变量, 尝试使用以下函数替换该行:

public void mousePressed(MouseEvent e) {
    if (e.getSource() == btnBlue) {
        temp = Color.BLUE;
        e.getSource().setText("Chair");
    }
}