public class Joptionpanetest extends JFrame { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Joptionpanetest jf=new Joptionpanetest();
jf.setSize(300,200);
jf.setTitle("openfile");
jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);
jf.setVisible(true);
final JButton bt=new JButton("open");
jf.getContentPane().add(bt,new BorderLayout().CENTER);
bt.addActionListener(new ActionListener() {
private String name; @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JOptionPane namePane=new JOptionPane("请输入你的名字",JOptionPane.INFORMATION_MESSAGE,JOptionPane.OK_CANCEL_OPTION);
namePane.setWantsInput(true);
JDialog namedialog=new JDialog();
namedialog=namePane.createDialog(bt+"注意");
if (e.getSource()==bt){
namedialog.setVisible(true);
Integer option=(Integer)namePane.getValue();
if(option!=null)
if(option.intValue()==JOptionPane.OK_CANCEL_OPTION)
name=(String)namePane.getInputValue();
}
}
});
JLabel jl=new JLabel();
jf.getContentPane().add(jl);
}}我想把输入姓名确定后就把输入信息输出到lable jl上,怎样实现?
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Joptionpanetest jf=new Joptionpanetest();
jf.setSize(300,200);
jf.setTitle("openfile");
jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);
jf.setVisible(true);
final JButton bt=new JButton("open");
jf.getContentPane().add(bt,new BorderLayout().CENTER);
bt.addActionListener(new ActionListener() {
private String name; @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JOptionPane namePane=new JOptionPane("请输入你的名字",JOptionPane.INFORMATION_MESSAGE,JOptionPane.OK_CANCEL_OPTION);
namePane.setWantsInput(true);
JDialog namedialog=new JDialog();
namedialog=namePane.createDialog(bt+"注意");
if (e.getSource()==bt){
namedialog.setVisible(true);
Integer option=(Integer)namePane.getValue();
if(option!=null)
if(option.intValue()==JOptionPane.OK_CANCEL_OPTION)
name=(String)namePane.getInputValue();
}
}
});
JLabel jl=new JLabel();
jf.getContentPane().add(jl);
}}我想把输入姓名确定后就把输入信息输出到lable jl上,怎样实现?
改为 final JLabel jl = new JLabel(); 并放到
btn.addActionListener(...) 的前面。
在btn的事件响应里设置 jl 的显示
if(name != null){
jl.setText(name);
}