Tag: 圆角

如何为具有圆角的JDialog设置3D边框?

我可以在我的JDialog中添加圆角边框,如在Java Swing中如何创建圆角标题边框 。 但它仍然是一种颜色。 我想让边框看起来像3D。 这是我尝试的方式。 Graphics2D g2d = (Graphics2D) g; Color c1 = getBackground(); Color c2 = color1.darker(); int w = getWidth(); int h = getHeight(); GradientPaint gp = new GradientPaint( 0, 0, c1, 0, h, c2); g2d.setPaint(gp); g2d.fill3DRect(0,0, w, h,true); 然后,没有3D外观,但边框已经扩大了边框颜色。 我怎样才能做到这一点? 任何示例代码或链接将受到高度赞赏。

在swing上圆滑的圆角

我想为我的挥杆应用做出光滑的圆角,但我无法得到我想要的结果…… 这是截图: 1. JFrame的setShape() : 2.为JPanel覆盖paintComponent()方法而不是使用setShape() : 3. JFrame的setBackground(new Color(0, 0, 0, 0)) : 好吧,但文字质量有问题: 在第3步之前: 在第3步之后: 伙计们我很困惑,我已多次搜索,但没有任何帮助我…我该怎么办? 请帮我 这是完整的代码: public class WelcomePage extends JFrame { private Point initialClick; private boolean end = false; private JLabel jLabelAppTitle; private JPanel jPanelExit; private JLabel jLabelHint; private int r = 220, g = 0, b = 0; private […]

Java – 在paintComponent中使用合成的圆角面板

从最初的问题(下面),我现在提供以下奖励: 基于AlphaComposite的圆角解决方案。 请用JPanel演示。 角落必须完全透明。 必须能够支持JPG绘画,但仍然有圆角 不得使用setClip(或任何剪辑) 必须有不错的表现 希望有人快速选择这个,这似乎很容易。 如果有一个充分解释的原因,为什么永远不会这样做,其他人同意,我也会奖励赏金。 这是我想到的一个示例图像(但使用AlphaComposite ) 原始问题 我一直试图找到一种使用合成来做圆角的方法,非常类似于如何在Java中制作圆角图像或http://weblogs.java.net/blog/campbell/archive/2006/07/ java_2d_tricker.html 。 但是,我没有中间BufferedImage的尝试不起作用 – 圆形目标合成显然不会影响源。 我尝试了不同的东西,但没有任何作用。 应该得到一个圆形的红色矩形,而不是我得到一个正方形。 所以,我有两个问题,真的: 1)有没有办法使这项工作? 2)中间图像是否会实际产生更好的性能? SSCCE: 测试面板TPanel import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import javax.swing.JLabel; public class TPanel extends JLabel { int w = 300; int h = 200; public TPanel() { setOpaque(false); […]

碰撞检测:圆形物体

我正在开发一个Java游戏(但开发语言并不重要),包括圆形物体,如球或冰球,现在正在进行碰撞。 我使用计时器,所以在每一帧我检查是否发生碰撞。 这是一个表示对象右上角的图形。 对象的中心由点[0,0]表示,其半径为10px,单位为像素。 现在,如果我的对象(例如, obj_1 )是方形/菱形(蓝线),要查找是否有另一个( obj_2 )碰撞它,我只需要获取它们的坐标并检查Math.abs(obj_1.x – obj_2.x) + Math.abs(obj_1.y – obj_2.y) <= radius我会知道是否有碰撞。 但问题是圆形(红线)更棘手,因为它需要更多的空间,这个占用的空间不受直线限制。 当然我必须舍入一些值(例如在上图中,如果我想在x = 2处检查碰撞,我将必须舍入y值,看起来像9.5到10)。 但我根本不知道如何获得这个公式。 任何帮助将非常感谢。

图像与阴影和圆形边缘在javaswing

我正在尝试为这个带圆角和阴影的RoundedPane添加图像。 但我没有得到它。 我让这个小组从这个课程延伸出来 public class JPanelConFondo extends JPanel { private Image imagen; public JPanelConFondo() { } public JPanelConFondo(String nombreImagen) { if (nombreImagen != null) { imagen = new ImageIcon(getClass().getResource(nombreImagen)).getImage(); } } public JPanelConFondo(Image imagenInicial) { if (imagenInicial != null) { imagen = imagenInicial; } } public void setImagen(String nombreImagen) { if (nombreImagen != null) { […]

如何创建带圆角的JButton扩展?

这是“Java round Swing JButton”问题的延续。 我搜索了javax.swing.JButton的扩展,它将inheritance所有运行时行为并且只是覆盖角的绘制。 在sun论坛页面上使用noah.w提供的代码,结果如下所示: 替代文字http://sofzh.miximages.com/java/107qfkp.png 我希望能够在背景中拥有相同的渐变,鼠标更换等。有人知道如何做到这一点吗? 从图片创建Java Swing窗口的代码是: public class XrButton extends JButton implements MouseListener { private static final long serialVersionUID = 9032198251140247116L; String text; boolean mouseIn = false; public XrButton(String s) { super(s); text = s; setBorderPainted(false); addMouseListener(this); setContentAreaFilled(false); } @Override public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D) g; if […]

Java在JFrame上圆角?

我有一个登录JFrame我的应用程序,我想使框架的角落圆几个像素。 我喜欢这样做而不使用JFrame上的透明度并且必须在JPanel中使用背景图像 – 这可能吗?