java在jlabel 边框边缘上添加文字

java在jlabel 边框边缘上添加文字,第1张

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自己设定为本地就行了

希望能帮助你哈

import java.awt.Color

import java.awt.Frame

import java.awt.Graphics

public class DrawString extends Frame{

private static final int spacing = 20 //文字与图片边界的空白

private static final int wordNum = 7 //文字字号

private Color strColor

private StringBuffer message

private int pictureWidth

private int pictureHight

public void paint(Graphics g){

Color c = g.getColor()

g.setColor(strColor)

StringBuffer msg = message

int strNumPerLine = (pictureWidth - spacing) / wordNum

int strLineNum = message.length() / strNumPerLine

for(int l=strLineNum,n=0 l<0l--){

msg.substring(n, strNumPerLine)

g.drawString(msg.toString(), wordNum, wordNum * strNumPerLine)

n = strNumPerLine

}

g.setColor(c)

//this.draw(g)

}

public DrawString(Color strColor, StringBuffer message, int pictureWidth, int pictureHight) {

this.strColor = strColor

this.message = message

this.pictureWidth = pictureWidth

this.pictureHight = pictureHight

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/bake/11574597.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存