不敢确定的说:
你写的程序是要当有focus事件发生在你的frame上的时候,才强制把焦点给minuteButton,麻烦你在你的frame是点击一下鼠标试试, 看看焦点有没有转移过去, 呵呵呵, 自己写程序不知道自己的逻辑, 你是比较强
求助还全英文的,faint, 崇洋媚外
你写的程序是要当有focus事件发生在你的frame上的时候,才强制把焦点给minuteButton,麻烦你在你的frame是点击一下鼠标试试, 看看焦点有没有转移过去, 呵呵呵, 自己写程序不知道自己的逻辑, 你是比较强
求助还全英文的,faint, 崇洋媚外
may be U R right , this is my last staw to do this thing , unfortunately , when i have clicked at frame before i ask question at this , the focus is not changes too.so i came here want someone to help me !
now ,i will put my a series of program for this question:
/////////////////////////////
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;class TextTestFrame extends JFrame //implements FocusListener
{ public TextTestFrame()
{ setTitle("TextTest");
setSize(300, 200);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{ System.exit(0);
}
}); //addFocusListener(this);
Container contentPane = getContentPane(); JPanel p = new JPanel();
hourField = new JTextField("12", 3);
p.add(hourField); minuteField = new JTextField("00", 3);
p.add(minuteField);
minuteField.setVisible(true);
minuteField.transferFocus(); contentPane.add(p, "South");
} /*public void focusLost(FocusEvent evt)
{
}
public void focusGained(FocusEvent evt)
{
minuteField.requestFocus();
}*/
private JTextField hourField;
private JTextField minuteField;}public class TextTest
{ public static void main(String[] args)
{ JFrame frame = new TextTestFrame();
frame.show();
}
}//////////////////
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;class TextTestFrame extends JFrame //implements FocusListener
{ public TextTestFrame()
{ setTitle("TextTest");
setSize(300, 200);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{ System.exit(0);
}
}); //addFocusListener(this);
Container contentPane = getContentPane(); JPanel p = new JPanel();
hourField = new JTextField("12", 3);
p.add(hourField); minuteField = new JTextField("00", 3);
p.add(minuteField);
minuteField.setVisible(true);
minuteField.requestFocus()
//minuteField.transferFocus(); contentPane.add(p, "South");
} /*public void focusLost(FocusEvent evt)
{
}
public void focusGained(FocusEvent evt)
{
minuteField.requestFocus();
}*/
private JTextField hourField;
private JTextField minuteField;}public class TextTest
{ public static void main(String[] args)
{ JFrame frame = new TextTestFrame();
frame.show();
}
}///////////////////////
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;class TextTestFrame extends JFrame //implements FocusListener
{ public TextTestFrame()
{ setTitle("TextTest");
setSize(300, 200);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{ System.exit(0);
}
}); //addFocusListener(this);
Container contentPane = getContentPane(); JPanel p = new JPanel();
hourField = new JTextField("12", 3);
p.add(hourField); minuteField = new JTextField("00", 3);
p.add(minuteField);
//minuteField.setVisible(true);
minuteField.requestFocus()
//minuteField.transferFocus(); contentPane.add(p, "South");
} /*public void focusLost(FocusEvent evt)
{
}
public void focusGained(FocusEvent evt)
{
minuteField.requestFocus();
}*/
private JTextField hourField;
private JTextField minuteField;}public class TextTest
{ public static void main(String[] args)
{ JFrame frame = new TextTestFrame();
frame.show();
}
}
///////////////////////
all of these program , no one is sucessful , who can tell me , what's wrong with me ?
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;class TextTestFrame extends JFrame
{
private JTextField hourField;
private JTextField minuteField;
private NmFocusListener aFocusListener = new NmFocusListener() ;
public TextTestFrame()
{
setTitle("TextTest");
setSize(300, 200);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{ System.exit(0);
}
});
Container contentPane = getContentPane(); JPanel p = new JPanel();
hourField = new JTextField("12", 3);
hourField.addFocusListener(aFocusListener);
p.add(hourField); minuteField = new JTextField("00", 3);
minuteField.addFocusListener(aFocusListener) ;
//minuteField.requestFocus();
p.add(minuteField); contentPane.add(p, "South");
toFront();
} class NmFocusListener extends FocusAdapter
{
public void focusGained(FocusEvent event)
{
minuteField.requestFocus();
}
}// of inner class NmFoucsListener
}public class TextTest
{ public static void main(String[] args)
{ TextTestFrame frame = new TextTestFrame();
frame.show();
}
}
一个最最最最无赖的办法: 模拟鼠标事件发送给那个button
呵呵, 再try一下看看哈
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;class TextTestFrame extends JFrame
{
private JTextField hourField;
private JTextField minuteField;
private NmFocusListener aFocusListener = new NmFocusListener() ;
private static int x = 0 ;
public TextTestFrame()
{
setTitle("TextTest");
setSize(300, 200);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{ System.exit(0);
}
});
Container contentPane = getContentPane();
JPanel p = new JPanel();
hourField = new JTextField("12", 3);
hourField.addFocusListener(aFocusListener);
p.add(hourField);
minuteField = new JTextField("00", 3);
minuteField.addFocusListener(aFocusListener) ;
p.add(minuteField);
contentPane.add(p, "South");
toFront();
} class NmFocusListener extends FocusAdapter
{
public void focusGained(FocusEvent event)
{
if(x == 0)
{
minuteField.requestFocus();
x++ ;
}
}
}
}public class TextTest
{ public static void main(String[] args)
{ TextTestFrame frame = new TextTestFrame();
frame.show();
}
}