默认焦点位于ok按钮上,如何让它焦点默认在cancel上?
是否这个函数不支持这个?
换了方法,JOptionPane.showOptionDialog。要提供Object [] option,于是,
JOptionPane temp = new JOptionPane(null,JOptionPane.QUESTION_MESSAGE,JOptionPane.OK_CANCEL_OPTION);
 
Object[] xx = temp.getOptions(); //这里xx好象没有得到值:(
JOptionPane.showOptionDialog(this,msgSameFileName,confirmTitle,JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE, null,xx,xx[0]));//还是不行,失败了,xx是null为什么?有什么方法么?

解决方案 »

  1.   

    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;public class Test extends JFrame
    {
    private Color bg ;
    JButton btnChoose;

    public Test()
    {
    btnChoose = new JButton("选择颜色");

    btnChoose.addActionListener(new ActionListener()
    {
    public void actionPerformed(ActionEvent e)
    {
    //bg = JColorChooser.showDialog(Test.this,"颜色选择",Color.RED);

    //repaint();
    //btnChoose.setBackground(bg);

    JOptionPane j = new JOptionPane("确认信息吗?", JOptionPane.INFORMATION_MESSAGE, JOptionPane.YES_NO_OPTION,null,new Object[]{"确认","取消"});
    Object[] xx = j.getOptions();
    JOptionPane.showOptionDialog(Test.this,"确认信息吗?","提示",JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE,null,xx,"取消");
    }
    });

    getContentPane().add(btnChoose,BorderLayout.SOUTH);
    setSize(450,500);
    setVisible(true);

    } public static void main(String[] args)
    {
    Test app = new Test();

    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }}