マイコード:JPanelのサイズを変更しません
はpublic MyConstructor() {
view = new JPanel(new GridLayout(3, 1));
header = new JPanel(new GridLayout(2, 1));//2 ROWS 1 COLUMN
foot = new JLabel("Copyright...");
content = new JPanel();
info = new JLabel("");
logo = new JLabel() {
BufferedImage img;
@Override
public void paint(Graphics g) {
try {
img = ImageIO.read(new File("logo.jpg"));
} catch (IOException e) {
}
g.drawImage(img, 0, 0, null);
}
};
window.add(view);
header.add(logo);
header.add(info);
view.add(header);
view.add(content);
view.add(foot);
window.setLocation(width/2, 100);
window.setSize(width, height);
window.setPreferredSize(new Dimension(width, height));
content.setSize(window.getWidth(), height-70);
content.setPreferredSize(new Dimension(window.getWidth(), height-70));
}
「ウィンドウ」...クラスはJFrameの は私のクラスは他の人にスーパークラスになるだろう枠拡張されていないされ、サブクラスが継承パブリックコンテンツJPanel。私のスーパークラスでは、GridLayoutの3つのセクションの幅と高さを設定しようとしています。ロゴとインフォメーションコンポーネントの高さは70です...他のコンポーネント(ビュー、ヘッダー、情報、ロゴ)サブクラスがアクセスできないようにします。
アプリケーションが実行されると、ログイン用のウィンドウが表示され、正しく表示され、サイズが変更されます。サブクラスの1つのインスタンスにログインすると、ログインウィンドウが非表示になります。setVisible(false)
ただし、新しいウィンドウが表示される場合、JFrameは正しいサイズですが、ヘッダー、コンテンツ、およびフッターはcurrectサイズではありません。 各コンポーネントのサイズと推奨サイズを設定しようとしましたが、まだ動作していません...また、repaintを呼び出して検証/再検証を試みました
アイデアはありますか?
私のデザインには再作業が必要だと思う。 – zcourts