怎样知道上一次焦点是不是在某个空间上 比如我有文本框A,B,C,D和一个按钮。当点击按钮时,我想知道上一次焦点是否在A文本框上,可以做到么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是我写的代码。import javax.swing.JOptionPane;/** * * @author WenLiang */public class t extends javax.swing.JFrame { String f = ""; /** Creates new form t */ public t() { initComponents(); this.setLocationRelativeTo(null); } //GEN-BEGIN:initComponents // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { A = new javax.swing.JTextField(); B = new javax.swing.JTextField(); C = new javax.swing.JTextField(); jButton1 = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); A.setText("A"); A.addFocusListener(new java.awt.event.FocusAdapter() { public void focusLost(java.awt.event.FocusEvent evt) { AFocusLost(evt); } }); B.setText("B"); B.addFocusListener(new java.awt.event.FocusAdapter() { public void focusLost(java.awt.event.FocusEvent evt) { BFocusLost(evt); } }); C.setText("C"); C.addFocusListener(new java.awt.event.FocusAdapter() { public void focusLost(java.awt.event.FocusEvent evt) { CFocusLost(evt); } }); jButton1.setText("\u6309\u94ae"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout( getContentPane()); getContentPane().setLayout(layout); layout .setHorizontalGroup(layout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) .addGroup( layout .createSequentialGroup() .addGap(41, 41, 41) .addGroup( layout .createParallelGroup( javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent( jButton1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent( A, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 98, Short.MAX_VALUE) .addComponent( B, javax.swing.GroupLayout.Alignment.LEADING) .addComponent( C, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 206, Short.MAX_VALUE)) .addContainerGap(33, Short.MAX_VALUE))); layout .setVerticalGroup(layout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) .addGroup( layout .createSequentialGroup() .addGap(38, 38, 38) .addComponent( A, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent( B, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent( C, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jButton1) .addContainerGap(30, Short.MAX_VALUE))); pack(); }// </editor-fold> //GEN-END:initComponents private void CFocusLost(java.awt.event.FocusEvent evt) { f = "C"; } private void BFocusLost(java.awt.event.FocusEvent evt) { f = "B"; } private void AFocusLost(java.awt.event.FocusEvent evt) { f = "A"; } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { JOptionPane.showMessageDialog(this, "按钮按下前焦点在" + f + "控件上"); } /** * @param args the command line arguments */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new t().setVisible(true); } }); } //GEN-BEGIN:variables // Variables declaration - do not modify private javax.swing.JTextField A; private javax.swing.JTextField B; private javax.swing.JTextField C; private javax.swing.JButton jButton1; // End of variables declaration//GEN-END:variables} 很强的人啊swing离我是那么的遥远啊! 几道简单的java题 cannot find symbol 在线求助 用java如何做套打程序? 求CHM格式侯捷译Thinking in Java中文简体第二版 应用程序发布,而外的包怎么处理 帮忙看看代码,关于表格的. 求助!最新 JAVA 2 核心技术 卷I:原理,那一版比较好! 写字板中一个“剪切”按钮,我如何用JAVA才能实现剪切功能? 大家可以帮帮我吗 我给JButton加了一个KeyListener,为什么必须单击一次button后,listener才起作用? java容器的一习题!!初学者! hibernate+MYSQL 找不到列问题
import javax.swing.JOptionPane;/**
*
* @author WenLiang
*/
public class t extends javax.swing.JFrame {
String f = ""; /** Creates new form t */
public t() {
initComponents();
this.setLocationRelativeTo(null);
} //GEN-BEGIN:initComponents
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() { A = new javax.swing.JTextField();
B = new javax.swing.JTextField();
C = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); A.setText("A");
A.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
AFocusLost(evt);
}
}); B.setText("B");
B.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
BFocusLost(evt);
}
}); C.setText("C");
C.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
CFocusLost(evt);
}
}); jButton1.setText("\u6309\u94ae");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
}); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
getContentPane());
getContentPane().setLayout(layout);
layout
.setHorizontalGroup(layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
layout
.createSequentialGroup()
.addGap(41, 41, 41)
.addGroup(
layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.TRAILING,
false)
.addComponent(
jButton1,
javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(
A,
javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE,
98,
Short.MAX_VALUE)
.addComponent(
B,
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(
C,
javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE,
206,
Short.MAX_VALUE))
.addContainerGap(33, Short.MAX_VALUE)));
layout
.setVerticalGroup(layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
layout
.createSequentialGroup()
.addGap(38, 38, 38)
.addComponent(
A,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(
B,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(
C,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jButton1)
.addContainerGap(30, Short.MAX_VALUE))); pack();
}// </editor-fold>
//GEN-END:initComponents private void CFocusLost(java.awt.event.FocusEvent evt) {
f = "C";
} private void BFocusLost(java.awt.event.FocusEvent evt) {
f = "B";
} private void AFocusLost(java.awt.event.FocusEvent evt) {
f = "A";
} private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
JOptionPane.showMessageDialog(this, "按钮按下前焦点在" + f + "控件上");
} /**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new t().setVisible(true);
}
});
} //GEN-BEGIN:variables
// Variables declaration - do not modify
private javax.swing.JTextField A;
private javax.swing.JTextField B;
private javax.swing.JTextField C;
private javax.swing.JButton jButton1;
// End of variables declaration//GEN-END:variables}