vb
Copy code
Private Sub CommandButton_Click()
' 获取 Frame 控件
Dim myFrame As Frame
Set myFrame = Me.Frame1
' 获取 Frame 中的文本框控件
Dim myTextBox As TextBox
Set myTextBox = myFrame.Controls("TextBox1")
' 控制文本框控件的可见性和文本值
myTextBox.Visible = False
myTextBox.Text = "Hello, World!"
End Sub
在上面的代码中,Me.Frame1 获取了名为 Frame1 的 Frame 控件,myFrame.Controls("TextBox1") 获取了 Frame 中名为 TextBox1 的文本框控件。然后可以通过设置文本框的 Visible 属性控制其可见性,通过设置 Text 属性控制其文本值。
Java在JFrame面板上显示背景文字的方法:主函数:
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
HAPPY frame = new HAPPY()
//frame.setVisible(true) 这行代码,可加可不加,并不会影响最终结果,但是在构造函数中一定要添加;
} catch (Exception e) {
e.printStackTrace()
}
}
})
}
构造函数(关键代码):
JFrame frame=new JFrame("\设\置\背\景\图\片 ")
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
ImageIcon img = new ImageIcon("src/images/1.jpg")//这是背景图片
JLabel imgLabel = new JLabel(img)//将背景图放在标签里。
frame.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE))//注意这里是关键,将背景标签添加到jfram的 LayeredPane面板里。
imgLabel.setBounds(0,0,img.getIconWidth(), img.getIconHeight())//设置背景标签的位置
Container cp=frame.getContentPane()
cp.setLayout(null) //这里选择绝对布局管理器,对于边界布局管理器,放入控件后,无法显示背景图片;因为将整个面板都填充满了;
((JPanel)cp).setOpaque(false)//这样就能显示出背景图片出来了。
剩下的就是在面板中添加相关的控件,添加语句可以用:
(1)frame.getContentPane().add(panel);(2)cp.add(panel)
效果一样;
另一种方法则是直接为面板设置背景图片,源代码如下:
contentPane = new JPanel(){
private static final long serialVersionUID=-1588458291133087637L
public void paint(Graphics g){
ImageIcon icon=new ImageIcon("src/images/5.jpg")
Image image=icon.getImage()
g.drawImage(image, 0, 0, null)
}
}
但在实验中发现,显示效果不如前一种方法,不知为何,面板上设置的标签文字显示不出来,所以,后一种方法虽然更简便,但似乎前一种方法效果更好!
第三种方法:
contentPane.setOpaque(false)
JLabel backgroundLabel = new JLabel("")
ImageIcon background = new ImageIcon(BalloonMove.class.getResource("/images/background.jpg"))
backgroundLabel.setBounds(0, 0, background.getIconWidth(),background.getIconHeight())
backgroundLabel.setIcon(background)
getLayeredPane().add(backgroundLabel, new Integer(Integer.MIN_VALUE))
窗口中的标签,可以直接添加到contentPane面板中,很显然,最后一种方法显示效果很好,且代码简便。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)