lz 你好
使用setBorder这个方法 设置边框
然后添加带有文字的LineBorder
具体实现如下:(给lz一个完整的例子)
import javax.swing.*import java.awt.*
import javax.swing.border.*
public class Test extends JFrame{
private JPanel panel
private JLabel label
public Test(){
//标签的icon请设置自己电脑本地的图片
label = new JLabel(new ImageIcon("qq.jpg"))
//基本的LineBorder
LineBorder lb = new LineBorder(Color.BLACK, 1, false)
panel = new JPanel(new FlowLayout(FlowLayout.LEFT, 10, 10))
panel.add(label)
panel.setBounds(100,50,300,300)
//设置带有文字的LineBorder
panel.setBorder(BorderFactory.createTitledBorder(lb, "欢迎进入", TitledBorder.LEFT, TitledBorder.TOP))
setLayout(null)
getContentPane().add(panel)
setSize(500,500)
setLocationRelativeTo(null)
setDefaultCloseOperation(3)
setVisible(true)
}
public static void main (String[] args) {
new Test()
}
}
运行效果:
ps:
图片的位置和名称,lz自己设定为本地就行了
希望能帮助你哈
主要是使用JLabel函数,摘录如下供参考:类层次结构图:
java.lang.Object
--java.awt.Component
--java.awt.Container
--javax.swing.JComponent
--javax.swing.JLabel
接下来了解JLabel的各种特性:一般而言:我们最常在JLabel上放置文字或图形,也因此我们常常需要调整JLabel上文字或图形。在JLabel实现了SwingConstants这个interface,而这个interface主要是定义一些组件排列方式的参数:
TOP
LEFT
RIGHT
BOTTOM
CENTER
NORTH
EAST
WEST
SOUTH
NORTH_EAST
SOUTH_EAST
SOUTH_WEST
NORTH_WEST
HORIZONTAL
VERTICAL
LEADING 置于前端
TRAILING置于后端。
在swing中,有相当多的类均实现了SwingConstants这个interface,如AbstractButton、JCheckBoxMenuItem、JLabel、
JProgressBar、JSeparator、JSlider、JTextField、JTabbedPane、JToolbar等等,因此当你使用到这些组件时,你就可以在适当
的时候,利用SwingConstants的参数来定义组件的位置了。
JLabel共有6种构造函数,如下:
JLabel构造函数:
JLabel():建立一个空白的JLabel组件。
JLabel(Icon image):建立一个含有Icon的JLabel组件,Icon的默认排列方式是CENTER.
JLabel(Icon image,int horizontalAlignment):建立一个含有Icon的JLabel组件,并指定其排列方式。
JLabel(String text):建立一个含有文字的JLabel组件,文字的默认排列方式是LEFT.
JLabel(String text,int horizontalAlignment):建立一个含有文字的JLabel组件,并指定其排列方式。
JLabel(String text,Icon icon,int horizontalAlignment):建立一个含有文字与Icon的JLabel组件,并指定其排列方式,
文字与Icon的间距,默认值是4个pixels.
在JLabel中,有几个方法可能是常用到的,例如setHorizontalAlignment(int alignment)与setVerticalAlignment(int
alignment),分别是设置标签内组件(文字或Icon)的水平或垂直位置,而setHorizontalTextPosition(int textPosition)与
setVerticalTextPosition(int textPosition)可设置文字相对于Icon的相对位置,另外,setIconTextGap(int iconTextGap)可设
置标签内文字与Icon间的间距、setText(String test)与setIcon(Icon icon)可分别设置标签内的文字与Icon。
JLabelDemo1.java
import java.awt.*
import java.awt.event.*
import javax.swing.*
public class JLabelDemo1{
public static void main(String[] args){
JFrame f=new JFrame("JLabelDemo1")
Container contentPane=f.getContentPane()
JLabel label=new JLabel()
label.setText("Hello")
label.setHorizontalAlignment(JLabel.RIGHT)
label.setVerticalAlignment(JLabel.TOP)
contentPane.add(label)
f.pack()
f.show()
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0)
}
})
}
}
我们再来看一个有Icon的例子:
import java.awt.*
import java.awt.event.*
import javax.swing.*
public class JLabelDemo2{
public static void main(String[] args){
JFrame f=new JFrame("JLabelDemo1")
Container contentPane=f.getContentPane()
Icon icon=new ImageIcon(".\\icons\\hello.jpg")
JLabel label=new JLabel("Hello",icon,JLabel.CENTER)//产生一个具有文字与Icon的JLabel组件,
//并将此文字与Icon置于JLabel的中间。
label.setHorizontalTextPosition(JLabel.CENTER)//将文字置于Icon的中间,若没有设置此项,默认
//值为文字在Icon的右边。
label.setVerticalTextPosition(JLabel.TOP)//将文字置于Icon的上面,若没有设置此项 ,默认值为中间排列
/*若你在此再加入一行label.setIconTextGap(10)将会加大文字"Hello"与Icon间的间距。
*/
contentPane.add(label)
f.pack()
f.show()
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0)
}
})
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)