Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите перерисовать фрейм, пожалуйста. / 3 сообщений из 3, страница 1 из 1
14.04.2006, 15:32
    #33667623
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перерисовать фрейм, пожалуйста.
На фрейм добавляется картинка. Она там не появляется пока немножко не измениш размеры фрейма. Добавляется через событие. Обработчик события - внутренний класс фрейма. Пытался сделать
Код: plaintext
repaint()
. Не помогло.
Вот внутренний класс-обработчик:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
	 class  AddPrev  implements  ActionListener{
		 public   void  actionPerformed(ActionEvent event){
			PicturePanel iP =  new  PicturePanel(askFileName());
			getContentPane().add(iP, BorderLayout.CENTER);
			repaint();
		}
	}

Вот класс целиком:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
 import  java.awt.BorderLayout;
 import  java.awt.*;
 import  java.awt.Color;
 import  java.awt.Image;
 import  java.awt.Toolkit;
 import  java.awt.event.*;
 import  java.awt.event.ActionEvent;
 import  java.awt.event.ActionListener;
 import  java.io.File;

 import  javax.swing.ImageIcon;
 import  javax.swing.JFrame;
 import  javax.swing.JMenu;
 import  javax.swing.JMenuBar;
 import  javax.swing.JMenuItem;
 import  javax.swing.JOptionPane;
 import  javax.swing.JPanel;
 import  javax.swing.JTextArea;
 import  javax.swing.event.*;

 class  ButtonFrame  extends  JFrame {
	
	 private  ButtonPanel panel;
	 private  JMenuBar menu;
	 private  JMenu file;
	 private  JMenu edit;
	
	 private   void  BuildMenu(){
		 this .menu =  new  JMenuBar();
		 this .file =  new  JMenu("File");
		 this .edit =  new  JMenu("Edit");
		
		JMenuItem open =  this .file.add("Open");
		open.addActionListener( new  AddPrev());
		
		menu.add( this .file);
		 this .setJMenuBar(menu);
	}
	
	 public  ButtonFrame(){
		Toolkit kit = Toolkit.getDefaultToolkit();
		Image img = kit.getImage("jicontest.GIF");
		 this .setIconImage(img);		
		 this .setTitle("Здарова, мужики!");
		 this .setSize( 600 ,  900 );
		GridLayout l =  new  GridLayout( 4 ,  2 );
		 this .getContentPane().setLayout(l);
	
		 this .BuildMenu();		
		
	}
	
	 private  String askFileName(){
		String FileName = JOptionPane.showInputDialog("Yo");
		 return  FileName;
	}
	
	 class  Executer  implements  ActionListener{
		 public   void  actionPerformed(ActionEvent event){
			System.out.println(panel.getTextField());
			File f =  new  File(panel.getTextField());			
		}		
	}
	
	 class  AddPrev  implements  ActionListener{
		 public   void  actionPerformed(ActionEvent event){
			PicturePanel iP =  new  PicturePanel(askFileName());
			getContentPane().add(iP, BorderLayout.CENTER);
			repaint();
		}
	}
	
}
...
Рейтинг: 0 / 0
14.04.2006, 16:40
    #33667915
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перерисовать фрейм, пожалуйста.
Код: plaintext
1.
2.
3.
repaint();
validate();


или наоборот порядок вызова, не помню уже.
...
Рейтинг: 0 / 0
14.04.2006, 16:51
    #33667954
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перерисовать фрейм, пожалуйста.
wessen
Код: plaintext
1.
2.
3.
repaint();
validate();


или наоборот порядок вызова, не помню уже.
Спасибо. В таком порядке работает.

Что делает validate();?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите перерисовать фрейм, пожалуйста. / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]