| Виды программирования, программирование, языки программирования, книги программирование | На сайте представлена информация про программирование в Интернете и работу |
|
EventQueue#coalesceEvents - гарантии вызова String [] > в jComboBox(); Продолжаю серию вопросов по JTextPane (для HTML), Проблема со стилями по умолчанию HTMLEditorKit, Проблема с paste-from-clipboard Изменение шрифта (или его свойства) на кнопке, в AWT Захват звука в JMF, Задержка. Выполнить код, до конструктора класса JComponent, Фонты по умолчанию JEditorPane, Views и вертикальное выравнивание Сохранение графики в файл, формат для графики и САПРа одновременно? создание приложения на java, помогите запустить прогу на яве Wanted!!!, Редактирование HTML Почему писать на swing'е лучше чем на AWT или, наоборот? как в JTable сделать некоторые строки др. цветом Решение с JTрее i JButton, JTрее через ж... Активный jLabel, изминение свет фона внутри jLabel Концепция Layout'ов int -> String Как получить размер Canvas во Frame JTextArea и кодировка Как с помощью GridBagConstraints сделать padding? Можно ли BufferedImage добавить как компонент,, а не рисовать ее переопределяя paint()? LookAndFeel своими руками, Как??? Цвета панели, Как установить цвет панели Правда ли что у TextArea нет аналога, setScrollbarVisibility? бесплатный ли SWT?, import org.eclipse.swt.*; MouseEvent на компоненте, Прослушивание MouseEvent на компонентах Как установить для JTree разные LAF ? JScrollPane Прямоугольная область из Java формы, Надо сохранить в jpg то, что рисую Как прикрепить рисунок, к JLabel Почему FocusAdapter абстрактный класс? DnD, как Как Вы относитесь к курящим девушкам? Прежде чем задать вопрос, прочтите это! Документация и книги по Java, Давайте соберём ссылки Взаимодействие потоков GUI сохранение документа JTextPane Где брать третий параметр Image.setRGB() Командная строка выдает ошибку, не формируется класс! Обьясните пожалуйста что такое invokeLater() ? SQL!!!, Помогите с запросом. Что это за компонент?, Рамочка с надписью. Кто-нибудь юзал buoy? addObject(obj) в нужную папку DoubleClick в JTree, DoubleClick в JTree Парсинг длинного файла, Как лучше реализовать? Java для администрирования IP + jTextField requestFocusInWindow() всегда возвращает false, почему? массив JTextField-ов и прочих... Можно ли заставить Label wrap'ить текст? Jtree + JList + DragnDrop Как обновить GridBagLayout, чтобы показать, элементы, которые стали видимы? Как сделать, чтобы приложение в таскбаре моргало, Как аська Покажите пример работы с таблицей, нигде не могу найти простой пример setLocation(). Правильное использование?.. Проблема с открытием окна... Почему нельзя прим. один Layout для неск. комп? Как убедится, что все сообщения AWT обработаны, без использования swing Надо разобраться с Деревом массив не заполняется Обновление компонентов в сплитере, Что я не так делаю? Стиль кнопок, изменить стиль прорисовки JButton Как использовать совместно AWT и Swing? Как изменить порядок отрисовки компонент? Interface need, need to create ну никак не могу зделать, удалить JTree Node Jtree promlemzzz, del + insert JDialog, JFrame |
Платные хостинги Раскрутка сайта Книги по программированию Как получить размер Canvas во Frame
- Создал свой класс унаследованный от java.awt.Frame как мне получить размер канвы, на которую могу выводить свою графику. То есть, как мне полуить размер Title и толщину рамок у этого фрейм объекта.Заранее благодарен. - Насколько я знаю стандартного метода возвращающего клиентскую область окна во Frame'е нет. Быть может твою задачу можно решить иначе? С какой целю тебе необходимо это знать. Если только выводить графику, то тебе это не нужно. Перегрузив метод paint, ты сразу получаешь координаты левого верхнего угла клиентской области, вот код, который скажет тебе больше моих слов.Код import java.awt.Color;import java.awt.Frame;import java.awt.Graphics;public class test01 extends Frame { public test01(){ setSize(200, 400); show(); } public static void main(String[] args) { test01 test = new test01(); } public void paint (Graphics g){ g.setColor(Color.YELLOW); g.fillRect(10, 100, 10, 10); }}highlightSyntax('javaMzhhNT','java'); - Нет, мне именно нужно знать размер области, так как в эту область нужно будет выводить текст, в зависимости от того какая ширина, будет выведенно определеённое количество символов. Использовать JTextPanel или что-то наподобие нельзя. - Дам хинт. Пихни во фрейм кнопку (в этот момент фрейм можно не показывать), сделай на нем pack. Получи размер кнопки (можно через frm.getComponent(0).getSize(), если ты уверен, что кнопка именно под 0 индексом), потом получи размер фрейма. Далее элементарная арифметика Добавлено @ 18:20 Таким образом узнаешь размеры границ окна и заголовка, потом даже если размеры фрейма уменьшаться, можешь запросто пересчитать размеры клиентской области - На практике:Код import java.awt.Frame;import java.awt.Insets;public class test01 extends Frame { public test01(){ setSize(200, 400); Insets ins = getInsets(); System.out.println(ins.toString()); show(); } public static void main(String[] args) { test01 test = new test01(); Frame f = new Frame("Hi"); } }highlightSyntax('java2YjE3M','java');Выводится:java.awt.Insets[top=0,left=0,bottom=0,right=0]Почему??? Это сообщение отредактировал Royan - 23.5.2005, 19:00 - Может, нужно сначала показать, а потом брать insets? - c Insets уже пробывал, думал о нём с самого начала, но не до show() не после него, getInsets() выдаёт нули.Нашёл одно стредство: методе paint() сделать g.getClipBounds() это даст нам в общем то правильные результаты НО!!!!!, это будет лишь работать, если окно не ресайзится или он не перекрыто другими окнами.Пример кода:Код //method in class extended of java.awt.Framepublic void paint(Graphics g) { Rectangle r = g.getClipBounds(); int x, y, width, height; x = (int) r.getX(); y = (int) r.getY(); width = (int) r.getWidth(); height = (int) r.getHeight(); System.out.println("X= " +x + "\nY="+y); System.out.println("Width= " +width + "\nHeight="+height); g.setColor(Color.GREEN); g.fillRect(x,y,width,height);}highlightSyntax('javaMTRlNz','java');возможно это и поможет, но есть ещё одна проблема. Как мне получать что окно в данный момент ресайзится, тогда можно было бы не перерисовывать его пока не будет мышка отжата. Как только кнопка мыши будет Released тогда и только тогда перерисовывать. Если ставить листенеры (MouseMotionListener и MouseListenr), то они отрабатывают лишь когда мышь находится в пользовательской области, но не реагируют когда мышь находится в области бордюра или title. - Уточни задачу пожалуйста.Код import javax.swing.JFrame;public class SwingTest extends JFrame { SwingTest() { setTitle("Tut ti xoches vivodit grafiku i tekst???"); setSize(150, 150); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); System.out.println("getBounds - " + getBounds()); System.out.println("getSize - " + getSize()); System.out.println("getInsets - " + getInsets()); System.out.println("contentPane.getBounds - " + getContentPane().getBounds()); // Dalshe ponyatno kak poschitat titleSize i canvasSize } public static void main(String[] args) { new SwingTest(); } }highlightSyntax('javaNiMjEy','java'); - Задание следующее:Программа должна показывать содержимое текстового файла в окне произвольного размера. Показываемый текст должен быть отформатирован по левому краю окна. Слова не помещающиеся на одной строке следует целиком переносить на следующую строку; слова не помещающиеся на одну строку вообще следует разделять так, чтобы на исходной строке осталось максимальное количество символов. Программа должна обрабатывать переводы строк.Текст должен показываться любым пропорциональным шрифтом. Каждая пара слов должна показываться фонтом, размер которго будет больше или меньше, чем размер фонта для предыдущей пары. например 9-12-9-12Программа должна быть устроена так, чтобы при простой перерисовке окна текст не переформатировался. Под переформатированием понимается процесс разбиения текста на части, которым присваиваются определённые визульные характеристики.По нажатию клавиш Up и Down программа должна осуществлять построчный scroll.Словами в исходном тексте считаются символы, ограниченные пробелами и переводами строк.Программу следует организовать на языке Java без использования компоненты JTextPane, а так же других компонент библиотеки Swing и AWT, выполняющих форматирование.getInsets() у меня даёт правильные размеры только лишь при старте и более их не меняет в процессе ресайза окна.Код, который я приводил ранее показывает, что в общем то рзмеры бордюров и title меняются по сравнению с первоначальными, если мы развернём окно на весь экран. (Хотя может быть эту ситуацию стоит орбаботать как частную?) |