
JLabel jl = new JLabel("用户名称:")
JTextField jtf = new JTextField()
JPanel jp_group = new JPanel()
public loginFrame() {
try {
jbInit()com.hrkj.hrkjkf.common.mysession.dataTrf.getValue("main")
} catch (Exception exception) {
exception.printStackTrace()
}
}
private void jbInit() throws Exception {
jp_group.add(jl)
jp_group.add(jl)
this.add(jtf)
this.setTitle("窗体")
this.setSize(265, 185)
}
public static void main(String[] args) {
mainFrame mf = new mainFrame()
mf.setVsible(true)
}
}
方法1、复写paint方法public void paint(Graphics g){
g.drawString("你写的话")
}
方法2创建一个JLable 用add方法添加进去
package needlimport javax.swing.*
import java.awt.*
import java.awt.event.*
import java.awt.geom.*
import java.util.*
final class FontColor extends JFrame {
final static private Dimension SIZE = new Dimension(800, 600)
public String getTitle() {return "FontColor"}
public Dimension getPreferredSize() {return SIZE}
public Dimension getMinimumSize() {return SIZE}
public Dimension getMaximumSize() {return SIZE}
public Dimension getSize() {return SIZE}
private Canvas canvas
private Brush brush
FontColor() throws HeadlessException {
init()
attachListeners()
doLay()
setVisible(true)
}
private void init() {
brush = new StringBoundBrush()
canvas = new Canvas(brush)
}
private void attachListeners() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(1)
}
})
}
private void doLay() {
Container container = getContentPane()
container.add(canvas, BorderLayout.CENTER)
pack()
}
public static void main(String... args) {
System.setProperty("swing.defaultlaf", "com.sun.java.swing.plaf.windows.WindowsLookAndFeel")
SwingUtilities.invokeLater(FontColor::new)
}
private interface Brush extends Observer {
/**
* do paint action
* @param g the graphics context in you application
*/
void paint(Graphics g)
/**
* The component that this brush hold
* @return component instance
*/
Component getOwner()
void setOwner(Component owner)
}
private static final class StringBoundBrush implements Brush {
private Component owner
private final static AffineTransform AFFINE_TRANSFORM = AffineTransform.getRotateInstance(45f/180f*Math.PI)
private final static String CHAR="你好啊!"
public StringBoundBrush() {
AFFINE_TRANSFORM.preConcatenate(AffineTransform.getTranslateInstance(100, 100))
}
public Component getOwner() {
return owner
}
public void setOwner(Component owner) {
this.owner = owner
}
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D)g.create()
g2.setTransform(AFFINE_TRANSFORM)
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON)
g2.setColor(Color.PINK)
g2.setFont(g2.getFont().deriveFont(34f))
g2.fill( g2.getFontMetrics().getStringBounds(CHAR,g2) )
g2.setColor(Color.BLUE)
g2.drawString(CHAR,0,0)
g2.dispose()
}
public void update(Observable o, Object arg) {
if (owner != null) owner.repaint()
}
}
/**
* you canvas
*/
private class Canvas extends JComponent {
private Brush brush
private Canvas(Brush brush) {
super()
this.brush = brush
brush.setOwner(this)
}
protected void paintComponent(Graphics g) {
super.paintComponent(g)
if (brush == null) return
brush.paint(g)
}
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)