email:
[email protected]
[email protected]
解决方案 »
- 请问c3p0连接池怎么读Properties配置文件?
- 关于在panel上添加button的问题
- 在线等个小问题
- 为什么java的文件名必须和公共类名相同?
- EJB远程连接问题[Swing+jboss+linux]
- java -cp XXX.jar com.cmd.aaa.bbb,最后面的是怎么组成的?
- 使用itext的朋友,问两个问题?
- 小弟最近试用了VisualCafe,感觉很好上手,问一下大家,这个开发工具如何?用的人多吗?有没有什么缺点?
- 图片为什么显示不出来,请问SKYYOUNG(路人甲)?
- Unsupported major.minor version 52.0
- 哪里有sun.awt.*的说明文档?
- 怎样访问在.jar里的图片文件?
你可以改一改!
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
import java.awt.event.*;public class RoundButton extends JButton {
public RoundButton(String label) {
super(label); // These statements enlarge the button so that it
// becomes a circle rather than an oval.
Dimension size = getPreferredSize();
//size.width = size.height = Math.max(size.width,
// size.height);
size.width=100;
size.height=46;
setPreferredSize(size); // This call causes the JButton not to paint
// the background.
// This allows us to paint a round background.
setContentAreaFilled(false); } // Paint the round background and label.
protected void paintComponent(Graphics g) {
Graphics2D g2D=(Graphics2D)g;
if (getModel().isArmed()) {
if (getModel().isPressed()){
g2D.setColor(Color.darkGray);
setForeground(Color.white);
}else
// You might want to make the highlight color
// a property of the RoundButton class.
g2D.setColor(Color.lightGray);
setForeground(Color.black);
} else {
g2D.setColor(getBackground());
}
g2D.fillOval(0, 0, getSize().width-1,
getSize().height-1); // This call will paint the label and the
// focus rectangle.
super.paintComponent(g2D);
} // Paint the border of the button using a simple stroke.
protected void paintBorder(Graphics g) {
Graphics2D g2D=(Graphics2D)g;
g2D.setColor(getForeground());
//g2D.setColor(Color.blue);
g2D.drawOval(0, 0,getSize().width-1,
getSize().height-1);
}
/*
// Hit detection.
Shape shape;
public boolean contains(int x, int y) {
// If the button has changed size,
// make a new shape object.
if (shape == null ||
!shape.getBounds().equals(getBounds())) {
shape = new Ellipse2D.Float(0, 0,
getWidth(), getHeight());
}
return shape.contains(x, y);
}
*/
// Test routine.
public static void main(String[] args) {
// Create a button with the label "Jackpot".
JButton button = new RoundButton("Jackpot");
button.setBackground(Color.green); // Create a frame in which to show the button.
JFrame frame = new JFrame();
//frame.getContentPane().setBackground(Color.magenta);
frame.getContentPane().add(button);
frame.getContentPane().setLayout(new FlowLayout());
frame.setSize(150, 150);
frame.setVisible(true);
}
}