当我单击他时,如何为文本字段设置颜色,并在其他地方单击时将颜色更改回来? 我得到了二维文本字段数组。 当我使用此代码时,它会在最后一个文本字段上设置颜色:/如何获得聚焦的文本字段? 谢谢您
window.getContentPane().setLayout(new GridLayout(1,2));
Border lineBorder = new LineBorder(Color.BLACK,2);
JPanel p2 = null;
JPanel p1 = new JPanel(new GridLayout(3,3));
for (int k =0; k<9; k++)
{
p2 = new JPanel(new GridLayout(3,3));
p2.setBorder(lineBorder);
for(int i =0; i <=8; i++){
a = k;
b = i;
p2.add(tf[k][i] = new JTextField(1), BorderLayout.CENTER);
tf[k][i].setHorizontalAlignment(JTextField.CENTER);
tf[k][i].addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
tf[a][b].setBackground(Color.BLACK);
}
});
}
for(int i = 0; i <=8; i++){
p1.add(p2);
}
}
JPanel p3 = new JPanel();
最佳答案
您可以像这样使用addFocusListener
JTextField myTextField = new JTextField();
myTextField.addFocusListener(new FocusListener() {
@Override
public void focusGained(FocusEvent fe) {
myTextField.setForeground(Color.RED);
}
@Override
public void focusLost(FocusEvent fe) {
myTextField.setForeground(Color.GREEN);
}
});
关于java - 在java中聚焦时如何获取实际的文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27434745/