私はまだJavaに慣れておらず、Javaをいじって楽しんでいるので、これについてユーモアを交えてください。レイアウトマネージャーについては知っていますが、スイングの仕組みに興味があるので、絶対測位を使用しています。任意の洞察をいただければ幸いです。
そのため、JPanelにJLabelを追加すると、煩わしい動作に気づきました。たとえば、次のように設定した場合:
JFrame frame=new JFrame("Test Frame");
frame.setSize(800,500);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable (false);
JPanel conPane=new JPanel();
conPane.setLayout(null);
frame.setContentPane(conPane);
conPane.setBounds(0,0,1600,1000);
conTP.setFocusable(true);
frame.setVisible(true);
だから今私はconPaneパネルを動かします...
conPane.setBounds(-200,-200,1600,1000);
そして、新しいJLabelを作成します。
ImageIcon ico=new ImageIcon("directory/testimage.gif");
JLabel myLabel=new JLabel(ico);myLabel.setLayout(null);
myLabel.setBounds(300,300,200,200);
そしてそれをconPaneに追加します...
conPane.add(myLabel);
そして、conPaneを開始位置にリセットします。基本的に、私の許可なしにsetBounds(0,0,1600,1000)を実行します。
また、ラベルを移動したり、アイコンを変更したり、conPaneの子を変更したりする場合にも発生します。
どうすれば止められますか?