| Виды программирования, программирование, языки программирования, книги программирование | На сайте представлена информация про программирование в Интернете и работу |
|
jTree - изминение выбранного объекта Размер сайта во весь экран JDBC, дравер для FireBird Цвет рамки компонента Проверка типа Работа с панелями N2 Nuzna pomosch po JAVA, spasite moi nervnije kletki!! модификатор final, параметров метода Прозрачное окно?, возможно ли.. Работа с панелями Как заставить курсор мышки перейти на другое поле? Мультиязычный интерфейс Ошибка или такое бывает? работа с таблицей через модель., Ранее обсуждалось с DarkDs Проверка перед добавлением ..... Меню в jTree Java для мобильных Предложите удобный вариант работы с датой Производная полинома нескольких переменных tooltip на строку таблицы DLL но не JNI, вопрос Длина вводимых символов в jTextField Вторая копия приложения jTextField Autocomplete jTree(String) >> jTextField Вопрос по J2ME, вопрос к спецам по java помогите (вопрос для j2me guru), нужна маленькая помощь в виде программки Теперь обработка событий.... Проверка с помощью своего конструктора Сотрудничество Sun и Microsoft Проверка ftp сервера Продолжение вопроса по локальному использовани jsp: set/get cookies tomcat error page Проблемка с com.borland.dbswing.JdbTable, Мерцание ... Хочу изучать J2ME Вопрос по локальному использованию Как прочитать цвет пикселя Как написать скрипт, чтобы работал! Работа с BLOB и CLOB, Oracle 9i/JDBC Thin Driver Как обратиться к родительскому окну?, и снова window.opener Как Вы относитесь к курящим девушкам? Прежде чем задать вопрос, прочтите это! Документация и книги по Java, Давайте соберём ссылки Инициализация массива объектов, Вопрос новичка 2 вопроса - WAR-файл, бизнес-логика J2EE Передача метода как параметра Class Inet4Address, Кто нибудь работал с Inet4Address? Медот проверки, 0< значение n<266 Мужики срочно, нет времени сделать самому зачет нужен Tomcat+Oracle Test Infected Programming Java + Video+Subtitre, Вопрос Кто работает с javaws?, как собрать jnlp? addObject(); Можно ли из JApplet сделать, самостоятельное приложение с main() Рабочая кнопка при выделении объекта из JTree, Использование addTreeSelectionListener Как передать параметры по ссылке без формы? ButtonGroup, Как выбрать отмеченый флажок... Шаблон IP для JTextField!!, Очень нужон! Работа с потоками jComboBox->addObject()->jTree В JDK 1.5.0 нет поддержки charset'a roman8!, и в ранних версиях тоже. и в апдейтах её А можно ли ваще на яве демона сделать?, Ну чё, знатоки есть? :) Странное поведение сокета... key & mouse Listener problem Права на коннект к сокету ссылки... Опережающая проверка на несовпадение в Java regex., Возможно ли это? Трансформация рисунка. |
Платные хостинги Раскрутка сайта Книги по программированию Работа с панелями
- 1. Создаю две панели. КОгда они в одном файле - все работает. Когда же они в двух разных файлах (каждая - в своем) - по нажатию на кнопку в одной панели - не могу обратиться в другую. Как это сделать? 2. Создал две панельки, а они ровно пополам делят весь фрейм. Как каждой задать определенный размер? - Почитай про LayoutManager's здесьА лучше выкачай весь тутор. - Shorr KanМодератор: Делаю замечание - один вопрос, один топик. Это правило не из вредности, а для удобства. Сам догадайся, на какой вопрос тебе ответили1. Без кода помочь невозможно.2. Почитать про LayoutManager, что посоветовал SmaLL или создать свои панельки (новые классы) и переопределить в них getPreferredSize() и getMinimumSize() - Хорошо, в следующий раз буду по одному вопросу задавать. Сейчас продолжаю первый, так как второй ясено и закрыт. Спасибо.1. JBuilder создает проект из двух файлов. Первый посылать не буду - он, полагаю, для всех понятен. Там я ничего не трогал. Во втором файле я просто поставил ссылки на два моих дополнительных класса. Вот текст этого, второго, файла:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class panelapp extends JFrame { JPanel contentPane; BorderLayout borderLayout1 = new BorderLayout(); JPanel panel_1; JPanel panel_2; //Construct the frame public panelapp() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { contentPane = (JPanel) this.getContentPane(); contentPane.setLayout(new GridLayout(1, 2)); this.setBounds(100,100,400,300); this.setTitle("panelapp"); panel_1 = new panel1(); panel_2 = new panel2(); contentPane.add(panel_1); contentPane.add(panel_2); } //Overridden so we can exit when window is closed protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } }} Теперь текст файла panel1:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class panel1 extends JPanel { public panel1() { this.setBackground(Color.yellow); }}И файл panel2:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class panel2 extends JPanel { Button but_1; Button but_2; public panel2() { this.setBackground(Color.red); but_1= new Button("123"); add(but_1); but_2= new Button("456"); add(but_2); } public boolean action(Event evt, Object obj) { if(evt.target instanceof Button) { if(evt.target.equals(but_1)) { this.setBackground(Color.red); } if(evt.target.equals(but_2)) { this.setBackground(Color.yellow); } } return false; }} Когда это было в одном файле - все работало прекрасно. Сейчас, конечно, нет. Понятно, почему - глобальных переменных не существует в этом языке. Но как это исправить? - Скопировал все три класса по разным файлам в одну директорию и запустил следующее:Код javac *.javahighlightSyntax('javakMjBjY','java'); Все прекрасно собралось. Правда main нет и посему не запустить. Но все нормально собирается. - Файл, содержащий main таков:import javax.swing.UIManager;public class twopanel { boolean packFrame = false; //Construct the application public twopanel() { panelapp frame = new panelapp(); //Validate frames that have preset sizes //Pack frames that have useful preferred size info, e.g. from their layout if (packFrame) { frame.pack(); } else { frame.validate(); } frame.setVisible(true); } //Main method public static void main(String[] args) { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch(Exception e) { e.printStackTrace(); } new twopanel(); }} Но вопрос не в этом. Да, он собирается, но не работают кнопки. Кнопка, находящаяся в одной панели, не воздействует на другую панель. Я так понимаю, что проблема в области видимости. Когда все в одном файле - все понятно и работает. Когда же в разных - перестает работать. Как можно решить эту проблему? - Так тогда просто ничего не собралось бы.Я поиграл - цвет меняется. То все желтенькое, то половина красненькая. Все нормально. - Да? А у меня не работает. Может это быть из-за того, что у меня используется jdk1.2.2 ? - А сейчас у меня вот что происходит:C:\JBuilder35\jdk1.2.2\bin>javac *.javaNote: panel2.java uses or overrides a deprecated API. Recompile with "-deprecation" for details.1 warning Это сообщение отредактировал Shorr Kan - 15.1.2004, 07:33 - Во-первых, надо запустить javac с флагом -deprecationjavac -deprecation *.java и посмотреть что именно не так.А во-вторых, у меня под 1.4.2_03 (самая распоследняя версия - требуют от нас знаете ли) никаких подобных сообщений нет. - Я удалил всю возможную яву, даже все IDE... ПОставил SE 1.4.2_03. Но там нет файла javac.exeКак быть? - Забыл уточнить - J2RE SE 1.4.2_03. Вот ее я поставил. (если я все правильно понял, то J2RE и JDK - разные вещи...) - Надо ставить SDK - только там есть компилятор и еще некторые утилиты.Где найти - можно посмотреть в FAQ, там указано. - Не найденна переменная. У меня такое впечатление что ты хочешь изменить цвет панели кнопкой из другой панели.1) в Javа нет глобальных(никому не пренадлежащих) переменных(и функций тоже) -> Документация -> азы.2) если ты хочешь изменить свойство обьекта то ты должен иметь на него ссылку, см. выше.Вот простое решение:Код //файл panel2.javapublic class panel2 extends JPanel {JPanel brother;...public panel2(JPanel br) { this.brother=br; ...}public boolean action(Event evt, Object obj) { if(evt.target instanceof Button) { if(evt.target.equals(but_1)) { this.setBackground(Color.red); brother.setBackground(Color.yellow); } if(evt.target.equals(but_2)) { this.setBackground(Color.yellow); brother.setBackground(Color.red); } } return false;}//файл panelapp.javaprivate void jbInit() throws Exception {...panel_1 = new panel1();panel_2 = new panel2(panel_1);...}highlightSyntax('javahlMTli','java');Shorr Kan мне кажется, что тебе надо повторить Java с самого начала, с каким-нибудь хорошим учебником.PS. Не открывай второй топик с одинаковой темой. - О, большое спасибо! Именно это и хотел сделать. p.s. Только Java мне не повторять надо... А изучать . Я только влез в нее. |