「java圆按钮」h5圆形按钮
今天给各位分享java圆按钮的知识,其中也会对h5圆形按钮进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java怎么在按钮上加图片,或者把图片做成按钮(按钮是圆的
- 2、正在用java开发一款祖玛游戏,我想在制作出来的界面上特定的位置上添加圆形的按钮,但是我不知道怎么办
- 3、问一个问题,JAVA上可不可以做出来一个圆形的按钮?
- 4、JAVA中点击一个按钮,画一个圆形的代码点击另一个按钮画方形
- 5、java椭圆按钮怎么设置,最好举一个简单的例子,只要有窗体中一个椭圆按钮就可以,最好有注释,谢谢,好的
java怎么在按钮上加图片,或者把图片做成按钮(按钮是圆的
JButton有构造 方法
JButton(Icon icon)
创建一个带图标的按钮。
也有方法 public void setIcon(Icon defaultIcon)
public void setPressedIcon(Icon pressedIcon)
设置按钮的按下图标。
public void setSelectedIcon(Icon selectedIcon)
设置按钮的选择图标。
public void setRolloverIcon(Icon rolloverIcon)
设置按钮的翻转图标。
public void setRolloverSelectedIcon(Icon rolloverSelectedIcon)
设置按钮的翻转选择图标。
public void setDisabledIcon(Icon disabledIcon)
设置按钮的禁用图标。
public void setDisabledSelectedIcon(Icon disabledSelectedIcon)
设置按钮的禁用选择图标。
正在用java开发一款祖玛游戏,我想在制作出来的界面上特定的位置上添加圆形的按钮,但是我不知道怎么办
使用组件的setBounds(int x,int y,int width,int height);
前两个参数是设置位置的,分别是容器的左边框离屏幕的距离,容器的上边框离屏幕的距离
包的话你只要把相应组件的包导入就可以了,不用导入什么特别的包
之前要把容器的布局管理器设置为空
JFrame.setLayout=null;
问一个问题,JAVA上可不可以做出来一个圆形的按钮?
可以自定义的
贴代码给你看下
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Shape;
import java.awt.SystemColor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Ellipse2D;
import javax.swing.JButton;
import javax.swing.JFrame;
public class CircleButton extends JButton {
Shape shape;
Color bgColor = SystemColor.control;
public CircleButton() {
this("未命名", null);
}
public CircleButton(String label) {
this(label, null);
}
public CircleButton(String label, Color bgColor) {
super(label); // 调用父类构造方法
if (bgColor != null) {
this.bgColor = bgColor;
}
Dimension size = this.getPreferredSize();
size.width = size.height = Math.max(size.width, size.height);
this.setPreferredSize(size); // 设置宽高等距
this.setContentAreaFilled(false); // 不绘制内容区域
this.setBorderPainted(false); // 不绘制边框
this.setFocusPainted(false); // 不绘制焦点状态
}
protected void paintComponent(Graphics g) {
// 如果鼠标按下,isArmed()方法返回true
if (this.getModel().isArmed()) {
g.setColor(java.awt.SystemColor.controlHighlight);
} else {
g.setColor(java.awt.SystemColor.controlShadow);
g.setColor(this.bgColor); // 设置背景颜色
}
g.fillOval(0, 0, this.getSize().width - 1, this.getSize().height - 1); // 绘制圆形背景区域
g.setColor(java.awt.SystemColor.controlShadow); // 设置边框颜色
g.drawOval(0, 0, this.getSize().width - 1, this.getSize().height - 1); // 绘制边框线
super.paintComponent(g);
}
public boolean contains(int x, int y) {
if ((shape == null) || (!shape.getBounds().equals(this.getBounds()))) {
this.shape = new Ellipse2D.Float(0, 0, this.getWidth(), this
.getHeight());
}
return shape.contains(x, y);
}
}
class CircleButtonTest {
public static void main(String[] args) {
JFrame jf = new JFrame("自定义按钮");
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(350, 280);
jf.setLocationRelativeTo(null);
jf.setLayout(new FlowLayout());
Color arrColor[] = new Color[] { Color.blue, Color.black, Color.red,
Color.yellow, Color.green };
for (int i = 0; i 5; i++) {
CircleButton cb = new CircleButton("圆形按钮" + (i+1),arrColor[i]);
jf.getContentPane().add(cb);
cb.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("按钮");
}
});
}
jf.setVisible(true);
}
}
JAVA中点击一个按钮,画一个圆形的代码点击另一个按钮画方形
package image;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class huahua extends JFrame implements ActionListener
{
private static final long serialVersionUID = 1L;
int a;
JButton bt1 = null;
JButton bt2 = null;
int width = -1;
int height = -1;
public huahua ()
{
bt1 = new JButton ("画圆");
bt2 = new JButton ("画方");
bt1.addActionListener (this);
bt2.addActionListener (this);
this.setLayout (new FlowLayout ());
this.add (bt1);
this.add (bt2);
this.setSize (300, 300);
this.setLocationRelativeTo (null);
setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
this.setVisible (true);
}
public static void main ( String[] args )
{
new huahua ();
}
public void paint ( Graphics g )
{
super.paint (g);
g.drawOval (100, 100, width, height);
g.drawRect (10, 50, width / 2, height / 2);
g.dispose ();
}
public void actionPerformed ( ActionEvent e )
{
if (e.getSource () == bt1)
{
width = width 200 ? 5 : ( width += 5 );
height = height 200 ? 5 : ( height += 5 );
repaint ();
}
else if (e.getSource () == bt2)
{
width = width 5 ? 200 : ( width -= 5 );
height = height 5 ? 200 : ( height -= 5 );
repaint ();
}
}
}
java椭圆按钮怎么设置,最好举一个简单的例子,只要有窗体中一个椭圆按钮就可以,最好有注释,谢谢,好的
椭圆按钮要重新绘制按钮才行,对你来说可能会比较难。
import javax.swing.ImageIcon;
import javax.swing.JButton;
public class EllipseButton extends JButton {
static final long serialVersionUID=80;
public EllipseButton(String text){
super(text);
// 创建自己的UI
this.setUI(EllipseButtonUI.createUI(this));
// 取消按钮的边框
this.setBorder(null);
// 不用内容窗格的背景
this.setContentAreaFilled(false);
// 设定边缘
this.setMargin(new Insets(8, 14, 8, 14));
}
public EllipseButton(ImageIcon image){
super(image);
// 创建自己的UI
this.setUI(EllipseButtonUI.createUI(this));
// 取消按钮的边框
this.setBorder(null);
// 不用内容窗格的背景
this.setContentAreaFilled(false);
// 设定边缘
this.setMargin(new Insets(-1,-1,-1,-1));
}
}
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.RenderingHints;
import java.awt.Stroke;
import java.awt.geom.Arc2D;
import java.awt.geom.Ellipse2D;
import javax.swing.AbstractButton;
import javax.swing.ButtonModel;
import javax.swing.JComponent;
import javax.swing.UIManager;
import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicButtonUI;
public class EllipseButtonUI extends BasicButtonUI {
protected static EllipseButtonUI singleton = new EllipseButtonUI();
// 创建Stroke用于画按钮
protected static Stroke thickStroke = new BasicStroke(2.0f);
public static ComponentUI createUI(JComponent c) {
return singleton;
}
public void paint(Graphics g, JComponent c) {
// 获得Graphics2D的对象,并开启抗锯齿处理
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
// 得到按钮的大小
AbstractButton b = (AbstractButton) c;
Rectangle viewRect = new Rectangle();
viewRect.x = 0;
viewRect.y = 0;
viewRect.width = b.getWidth() - 1;
viewRect.height = b.getHeight() - 1;
// 缩小矩形以显示抗锯齿效果
viewRect.grow(-2, -2);
// 在按钮矩形内创建椭圆
Ellipse2D ellipse = new Ellipse2D.Float();
ellipse.setFrame(viewRect.getX(), viewRect.getY(), viewRect.getWidth(),
viewRect.getHeight());
// 判断按钮有无被按下
ButtonModel model = b.getModel();
boolean pressed = (model.isArmed() model.isPressed())
|| model.isSelected();
// 根据按钮按下与否设置画笔颜色
if (pressed) {
Color background = UIManager.getColor("Button.select");
g2.setPaint(background == null ? Color.gray : background);
} else
g2.setPaint(UIManager.getColor("control"));
// 填充椭圆按钮
g2.fill(ellipse);
// 根据椭圆按钮的大小来设定边框大小.
Arc2D arc = new Arc2D.Float();
arc.setFrame(viewRect.getX(), viewRect.getY(), viewRect.getWidth(),
viewRect.getHeight());
arc.setArcType(Arc2D.OPEN);
// 设定边框指定弧度的区域
arc.setAngles(viewRect.getWidth(), 0, 0, viewRect.getHeight());
g2.setStroke(thickStroke);
// 根据按钮按下与否设定画笔的颜色
g2.setPaint(pressed ? UIManager.getColor("controlDkShadow") : UIManager
.getColor("controlHighlight"));
g2.draw(arc);
arc.setAngles(0, viewRect.getHeight(), viewRect.getWidth(), 0);
g2.setPaint(pressed ? UIManager.getColor("controlHighlight")
: UIManager.getColor("controlShadow"));
g2.draw(arc);
super.paint(g, c);
// 将图形上下文恢复原来的抗锯齿属性的设置
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_OFF);
}
public Dimension getPreferredSize(JComponent c) {
AbstractButton b = (AbstractButton) c;
Dimension dim = super.getPreferredSize(c);
// 调整高度和宽度,为了更好的显示效果
dim.height += (b.getMargin().top + b.getMargin().bottom);
dim.width += (b.getMargin().left + b.getMargin().right);
return dim;
}
}
public class Test extends JFrame {
public Test() {
EllipseButton b = new EllipseButton("按钮");
add(b);
setSize(150, 100);
}
/**
* @param args
*/
public static void main(String[] args) {
new Test().setVisible(true);
}
}
==================================
老大,我都调试过了才发出来的。无语了......
你看代码了没?
里面是3个类?你要分别创建3个类,把代码分别放到各自的类里,哎~~~~~~
java圆按钮的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于h5圆形按钮、java圆按钮的信息别忘了在本站进行查找喔。
发布于:2022-12-01,除非注明,否则均为
原创文章,转载请注明出处。