- 316 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 22:45:12 ]
- >>308
作ってみた public class VerticalJButton extends JComponent{ private JButton button=new JButton(){ public void repaint(long tm,int x,int y,int width,int height){ VerticalJButton.this.repaint(tm,y,1-x,height,width);}}; public VerticalJButton(String text){ add(button);button.setText(text); enableEvents(AWTEvent.MOUSE_EVENT_MASK|AWTEvent.MOUSE_MOTION_EVENT_MASK);} public Dimension getPreferredSize(){ Dimension d=button.getPreferredSize(); return new Dimension(d.height,d.width);} public void doLayout(){ button.setBounds(0,1-getWidth(),getHeight(),getWidth());} protected void paintChildren(Graphics g){ Graphics2D g2=(Graphics2D) g.create(); g2.rotate(Math.PI/2);g2.translate(button.getX(),button.getY()); button.paint(g2);g2.dispose();} protected void processMouseEvent(MouseEvent e){ e=new MouseEvent(button,e.getID(),e.getWhen(),e.getModifiers(),e.getY()-button.getX(),-e.getX()-button.getY(),e.getClickCount(),e.isPopupTrigger(),e.getButton()); button.dispatchEvent(e);} protected void processMouseMotionEvent(MouseEvent e){ e=new MouseEvent(button,e.getID(),e.getWhen(),e.getModifiers(),e.getY()-button.getX(),-e.getX()-button.getY(),e.getClickCount(),e.isPopupTrigger(),e.getButton()); button.dispatchEvent(e);}}
|

|