我无法让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);
}
}
}
答案 0 :(得分:0)
我猜你没有改变Button中的文字,只是将它分配给一个变量, 尝试使用以下函数替换该行:
public void mousePressed(MouseEvent e) {
if (e.getSource() == btnBlue) {
temp = Color.BLUE;
e.getSource().setText("Chair");
}
}