java我怎样才能同时使用JTextField和JLabel?
我需要一个标签上的文本字段,但当我运行此代码时,屏幕上没有文本字段。我该怎么修呢
JFrame jf = new JFrame() ;
JPanel panel = new JPanel() ;
JLabel label = new JLabel() ;
JTextField tField = new JTextField("asd" , 10) ;
label.add( tField ) ;
panel.add( label ) ;
jf.setSize( 500,400 ) ;
jf.add( panel ) ;
jf.setVisible(true) ;
# 1 楼答案
JLabel没有默认的布局管理器,因此当JTextField被添加到JLabel中时,它不会显示,因为标签不知道如何显示它
根据你想要达到的目标,有几种方法可以解决这个问题:
不要忘了调用JLabel的
setLabelFor(...)
方法,将其与JTextField紧密关联,如JLabel Tutorial例如:
显示为
请注意,JLabel在助记符上有下划线,当按alt组合键时,这些字符将把焦点转到JLabel通过
setLabelFor(...)
链接到的JTextField,这是由以下代码引起的: