Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / JFC&Swing: как регулировать размер фрейма !? / 14 сообщений из 14, страница 1 из 1
30.11.2005, 11:01
    #33407786
vladimir nabok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JFC&Swing: как регулировать размер фрейма !?
В этой технологии я человек новый, и ну НИКАК у меня не выходит зафиксить размер фрейма (основного или интернал).
Вот код:
Код: 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.
 import  javax.swing.JInternalFrame;
 import  javax.swing.JDesktopPane;
 import  javax.swing.JMenu;
 import  javax.swing.JMenuItem;
 import  javax.swing.JMenuBar;
 import  javax.swing.JFrame;
 import  javax.swing.KeyStroke;
 import  javax.swing.JLabel;
 import  java.awt.event.*;
 import  java.awt.*;
 import  javax.swing.JPanel;


 public   class  SomeJunkSwing  extends  JFrame  implements  ActionListener{
JDesktopPane desktop_;
	 public  SomeJunkSwing(){
		desktop_ =  new  JDesktopPane();
		JFrame main_frame =  new  JFrame();
		SomeJIntFrame subframe1 =  new  SomeJIntFrame();
		JPanel jpint =  new  JPanel();
		jpint.setSize( 100 ,  100 );
		subframe1.getContentPane().add(jpint);
		setContentPane(desktop_);
		main_frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		subframe1.pack();
		subframe1.setVisible(true);
		main_frame.getContentPane().add(subframe1);
		main_frame.pack();
		main_frame.setVisible(true);
	}
	
	 public   static   void  main(String[] args){
		javax.swing.SwingUtilities.invokeLater(
			 new  Runnable(){
				 public   void  run(){
					createAndShowGui();
				}
			}
		);
	}
	
	
	 private   static   void  createAndShowGui(){
		JFrame.setDefaultLookAndFeelDecorated(true);
		SomeJunkSwing sj =  new  SomeJunkSwing();
	}
	
	
	 public   void  actionPerformed(ActionEvent e){
		
		System.out.println("event handled..");
	}
}
здесь я уже пытаюсь это сделать путем фикса размера встаиваемой панели (но все-равно не выходит).
ПРОБОВАЛ использовать someframe.setSize(), someframe.setBounds(). Ни хрена не идет. В чем же ответ, а?
...
Рейтинг: 0 / 0
30.11.2005, 11:09
    #33407804
Liner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JFC&Swing: как регулировать размер фрейма !?
setResizable(false) ?
...
Рейтинг: 0 / 0
30.11.2005, 11:16
    #33407829
Я
Я
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JFC&Swing: как регулировать размер фрейма !?
main_frame.pack()
Вот эту строку уберите из кода.
...
Рейтинг: 0 / 0
30.11.2005, 11:35
    #33407887
vladimir nabok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JFC&Swing: как регулировать размер фрейма !?
to Liner: нигде такого параметра не встречал. нужно пробовать..
to Я: как это убрать? это ж нужно , я так понимю, для того, чтобы фрейм собрал все те параметря в кучу.. ну ок, попробую и этот вариант.
...
Рейтинг: 0 / 0
30.11.2005, 11:52
    #33407949
Liner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JFC&Swing: как регулировать размер фрейма !?
main_frame.setResizable(false) - нельзя будет растягивать и сжимать фрейм

main_frame.pack() - The pack method sizes the frame so that all its contents are at or above their preferred sizes. An alternative to pack is to establish a frame's size explicitly by calling setSize or setBounds (which also sets the frame's location). In general, using pack is preferable to calling setSize, since pack leaves the frame's layout manager in charge of the frame's size, and layout managers are good at adjusting to platform dependencies and other factors that affect component size взял отсюда
...
Рейтинг: 0 / 0
01.12.2005, 06:32
    #33410013
Ermak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JFC&Swing: как регулировать размер фрейма !?
Желаемый размер задается через setPrefferedSize()

примерно так как на примере ниже

Код: 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.
 import  javax.swing.*;
 import  java.awt.*;

 public   class  SomeJunkSwing  extends  JFrame {

		 public  SomeJunkSwing(){
		 super ("Заголовок");
		//--- указать желательный размер фрейма
		setPreferredSize( new  Dimension( 600 ,  600 ));
		Container cp = getContentPane();
		JPanel jpint =  new  JPanel();
		jpint.setSize( 200 ,  200 );
		//--- Указать желаемый размер панели
		jpint.setPreferredSize( new  Dimension( 200 , 200 ));
		cp.add(jpint);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
	 public   static   void  main(String[] args){
		SomeJunkSwing someJunkSwing =  new  SomeJunkSwing();
		someJunkSwing.pack();
		someJunkSwing.setVisible(true);
	}
	
}

PS. А Ваш код даже не компилится, а выдает вот такую бяку

> "c:\Program Files\Java\jdk1.5.0_05\bin\javac.exe" SomeJunkSwing.java
SomeJunkSwing.java:19: cannot find symbol
symbol : class SomeJIntFrame
location: class SomeJunkSwing
SomeJIntFrame subframe1 = new SomeJIntFrame();
^
SomeJunkSwing.java:19: cannot find symbol
symbol : class SomeJIntFrame
location: class SomeJunkSwing
SomeJIntFrame subframe1 = new SomeJIntFrame();
^
2 errors

> Terminated with exit code 1.
...
Рейтинг: 0 / 0
01.12.2005, 10:52
    #33410416
vladimir nabok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JFC&Swing: как регулировать размер фрейма !?
еще бы, я там использовал свой внутренний клас, забыл заменить на стандартный jinternalframe.
спасибо, действительно ::pack() ставить не нужно было, теперь с размерами все ок.

Но теперь другой ламерский вопрос. Даже два:
1. нужно мне очень как-то регулировать титульную панель фрейма. в смысле, не только заголовок (его-то вообще не будет) , ее толщину, наличие или отсутствие вообще. это как-то можно сделать?
2. и вообще, правильно ли я использую фреймы для цели разделения всей рабочей области на несколько зависимых областей (будет часть для простого кнопочного меню, основная рабочая часть и место для меседжей), или это лучше чем-то другим сделать?
...
Рейтинг: 0 / 0
01.12.2005, 11:10
    #33410476
Liner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JFC&Swing: как регулировать размер фрейма !?
1. не понятно что значит "титульную панель фрейма"?
2. IMHO должно быть так - рабочая область это у тебя JFrame, а остальное пространство разбивай на панели которые компонуй как тебе надо с помощью LayoutManagerов, а на панелях размещай кнопки, мессаги и все что нужно.

JInternalFrame используется обычно когда у тебя mdi приложение
...
Рейтинг: 0 / 0
01.12.2005, 12:11
    #33410689
vladimir nabok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JFC&Swing: как регулировать размер фрейма !?
автор1. не понятно что значит "титульную панель фрейма"?
ну это типа [title]Какая-то надпись[/title] в хтмл, там, где она отображается.

автор2. IMHO должно быть так - рабочая область это у тебя JFrame, а остальное пространство разбивай на панели которые компонуй как тебе надо с помощью LayoutManagerов, а на панелях размещай кнопки, мессаги и все что нужно.

Панелями? Может быть. Только мне нужно обеспечить между ними взамодействие. Событие на одной из них влечет следствие на всех остальных (ну и на ней самой). Еще не знаю, как это организовать, поэтому, по аналогии с хтмл-страницей, решил использовать фреймы (хотя общего в хтмл- и жава- фреймах, видимо, только концепция :) ).
То-есть, особых проблем быть не должно в использовании панелей для описаной цели?
...
Рейтинг: 0 / 0
01.12.2005, 13:17
    #33410904
Liner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JFC&Swing: как регулировать размер фрейма !?
Вам наверное что-то типа этого почитать надо, тогда все станет понятно
...
Рейтинг: 0 / 0
01.12.2005, 14:10
    #33411163
vladimir nabok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JFC&Swing: как регулировать размер фрейма !?
Нет, что-то типа этого я читал. Понятия про технологические средства есть.
Но ведь там нету даже хоть бы чуть похожей нужной реализации. Там же не написано , что в даном случае лучше , а чего лучше не использовать. Поэтому я и сдесь, спрашиваю у знающих людей.
Хотя, вобщем то, это не столь существенно, потому как все равно приду к нужной реализации, хотя и позже, если без чей-либо помощи.
...
Рейтинг: 0 / 0
01.12.2005, 14:51
    #33411319
Ermak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JFC&Swing: как регулировать размер фрейма !?
Liner Вам дал совершенно правильную ссылку.
Еслы Вы это все внимательно изучите, то сможите самостоятельно реализовать нужный интерфейс.

Только не торопитесь говорить, что все это уже проштудировали.
...
Рейтинг: 0 / 0
02.12.2005, 10:55
    #33413034
vladimir nabok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JFC&Swing: как регулировать размер фрейма !?
да нет , конечно , только то , что нужно было , и то никак не проштудировал , а просмотрел. говорю ж, только понятие и есть.
еще есть вопрос: как можно регулировать размер , теперь уже, панели? вчера очень много времени ушло , много попутных вещей пришлось осязать -- а этого не вышло.

JPanel jp = new JPanel();
jp.setBounds(0,0,10,20);
somekarkaspanel.add(jp); //эта уже с каким-то лейаут-менеджером
...
main_frame_window.getContentPane.add(somekarkaspanel);

так не выходит. добавляемая панель (jp) занимает собой всю ширину (или высоту) somekarkaspanel. Если добавить вторую - разделяют пространство пополам.
но нужно задать неравные размеры.
?
...
Рейтинг: 0 / 0
02.12.2005, 11:03
    #33413073
Liner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JFC&Swing: как регулировать размер фрейма !?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / JFC&Swing: как регулировать размер фрейма !? / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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