2009-11-24 133 views
0
使用JTransformer类

我'从swinghelper旋转的JLabel的Java Swing

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

的时候我选择的FlowLayout是没有问题的,但如果我使用空布局,我不能看到我的框架按钮

任何帮助,将不胜感激。

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;

公共类主要{

/** 
* @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(); 

} 

}

+1

请将代码缩进四个空格,使其看起来正确。 – 2009-11-24 13:46:02

回答

0

您的按钮可能是向上和左上角的左侧。

将旋转角度设置为45°,-45°,135°,-135°以确定旋转角度在哪个点上旋转。

1

不知道这是否有差别,但每当我使用旋转的方法是只使用:

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

或者,如果你想要的,而不是整个组件旋转的另一种方法,你可以只使用一个Rotated Icon