旋转 jlabel java swing

发布于 2024-08-12 03:19:00 字数 1523 浏览 2 评论 0 原文

我正在使用 swinghelper

https://swinghelper.dev.java.net/

中 的 JTransformer 类我选择了 flowlayout 没有问题,但如果我使用 null 布局,我看不到我的按钮 在框架上

任何帮助将不胜感激。

导入java.awt.Dimension; 导入 java.awt.FlowLayout; 导入 java.awt.geom.AffineTransform; 导入java.util.ArrayList; 导入java.util.List; 导入 javax.swing.BorderFactory; 导入 javax.swing.JButton; 导入 javax.swing.JComponent; 导入 javax.swing.JFrame; 导入 javax.swing.JLabel; 导入 javax.swing.border.EtchedBorder;

导入 org.jdesktop.swinghelper.transformer.JXTransformer;

公共类主要{

/**
 * @param args
 */
private List<JXTransformer> transformers = new ArrayList<JXTransformer>();

private JXTransformer createTransformer(JComponent c) {
    JXTransformer t = new JXTransformer(c);
    transformers.add(t);
    return t;
}

public void fonk() {

    JFrame f = new JFrame();
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

            f.setLayout(new FlowLayout());
            //f.setLayout(null);

    f.setBounds(500,500,500,500);

    JButton b = new JButton("JButton");
    b.setSize(10,10);
    b.setLocation(10,10);
    f.add(createTransformer(b));


    AffineTransform at = new AffineTransform();
    at.rotate(45 * Math.PI / 180);

    for (JXTransformer t : transformers) {
        t.setTransform(at);
    }

    f.show();

}

public static void main(String[] args) {
    // TODO Auto-generated method stub
    new Main().fonk();

}

}

i'am using JTransformer class from swinghelper

https://swinghelper.dev.java.net/

when i chose flowlayout there is no problem but if i use null layout i cant see my button
on frame

any help would be appreciated.

import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.geom.AffineTransform;
import java.util.ArrayList;
import java.util.List;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.border.EtchedBorder;

import org.jdesktop.swinghelper.transformer.JXTransformer;

public class Main {

/**
 * @param args
 */
private List<JXTransformer> transformers = new ArrayList<JXTransformer>();

private JXTransformer createTransformer(JComponent c) {
    JXTransformer t = new JXTransformer(c);
    transformers.add(t);
    return t;
}

public void fonk() {

    JFrame f = new JFrame();
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

            f.setLayout(new FlowLayout());
            //f.setLayout(null);

    f.setBounds(500,500,500,500);

    JButton b = new JButton("JButton");
    b.setSize(10,10);
    b.setLocation(10,10);
    f.add(createTransformer(b));


    AffineTransform at = new AffineTransform();
    at.rotate(45 * Math.PI / 180);

    for (JXTransformer t : transformers) {
        t.setTransform(at);
    }

    f.show();

}

public static void main(String[] args) {
    // TODO Auto-generated method stub
    new Main().fonk();

}

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

傲鸠 2024-08-19 03:19:00

不知道这是否有什么不同,但每当我使用旋转方法时,只需使用:

g2.rotate( Math.toRadians( 90 ) );

或者如果您想要另一种方法,而不是旋转整个组件,您可以使用 旋转图标

Don't know if it makes a difference but whenever I use the rotate method is just use:

g2.rotate( Math.toRadians( 90 ) );

Or if you want an alternative approach, instead of rotating the entire component you can just use a Rotated Icon

动听の歌 2024-08-19 03:19:00

您的按钮可能位于左上角的上方和左侧。

将旋转角度设置为 45、-45、135、-135 度以确定围绕哪个点旋转。

Your button is probably up and to the left of the upper left corner.

set the rotation angle to 45, -45, 135, -135 degrees in order to determine, around which point it is rotating.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文