Мой код: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, компоненты логотипа и информации составляют до 70 для их высоты ... Я установил другие компоненты (просмотр, заголовок, информация , логотип), так что подклассы не могут получить к ним доступ ...
Когда приложение запускает окно для входа в систему, это отображает и правильно изменяет размер. после входа в экземпляр одного из подклассов создается окно входа в систему, а затем скрытый сайт setVisible (false)
, когда показано новое окно, JFrame имеет правильный размер, но заголовок, содержание и нижний колонтитул а не размеры. Я пробовал устанавливать размер и предпочтительный размер каждого из компонентов, но все еще не работал ... Я также пробовал переименовывать и проверять/проверять
Любые идеи?
Не используйте среду IDE для генерации графического интерфейса. Узнайте, как написать код самостоятельно, чтобы вы изучали Java, а не среду IDE. – camickr 2010-11-29 16:51:08
Если вы не ненавидите все Java, как и я, но по какой-то причине вы просто должны использовать Swing: P – slezica 2010-11-29 18:15:37