osxでjavax.swing.JWindow上のcursorが変わらない!?
2008/09/20
java
osx
Javaです。osxです。自信がないのでとりあえず記録がわりにメモ。
osx上のjava1.5,JWindow上でcursorを変更しようとしても変更できなかった。JFrame上なら問題なかったんだけど。
何かまちがってるのかなぁ....
osxもいまだに10.4.xxだしなぁ...
windows上で同じように動作するコードを書きたいのに、こんなことにはまるとは...
以下、検証用コード。
import java.awt.Color;
import java.awt.Cursor;
import javax.swing.JFrame;
import javax.swing.JWindow;
public class TestCursol {
/**
* @param args
*/
public static void main(String[] args) {
JWindow frame = new JWindow();
//JFrame frame = new JFrame();
// frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setAlwaysOnTop(true);
//frame.setFocusableWindowState(true);
frame.setBounds(100, 100, 300, 300);
System.out.println(frame.getCursor());
frame.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
frame.setVisible(true);
System.out.println(frame.getCursor());
}
}
import java.awt.Cursor;
import javax.swing.JFrame;
import javax.swing.JWindow;
public class TestCursol {
/**
* @param args
*/
public static void main(String[] args) {
JWindow frame = new JWindow();
//JFrame frame = new JFrame();
// frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setAlwaysOnTop(true);
//frame.setFocusableWindowState(true);
frame.setBounds(100, 100, 300, 300);
System.out.println(frame.getCursor());
frame.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
frame.setVisible(true);
System.out.println(frame.getCursor());
}
}
: