2013-05-06 2 views
0

я делаю эту программу с NetBeans и мне нужно: в Frame с целью раскола, установки ширины фрейма, каждый вид имеет несколько линий, где I add/remove строки, эти строки могут иметь определенный шрифт и цвета.Как разделить кадр в представление с несколькими линиями

Можете ли вы предоставить мне несколько примеров или какие классы следует использовать для решения проблемы?

Спасибо @trashgod, это действительно поможет мне. Что касается макетов, я построил в netbeans jframe, который он расширяет до полного разрешения используемого экрана, и внутри него я бы хотел, как вы мне сказали, 2 JTextPane половину ширины jframe, измените размеры, когда jframe расширится ... до сих пор я пробовал setSize() и setPreferredSize() на каждой JTextPane, но до сих пор ничего ... любая идея почему не работает? вот мой код

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); 
    int width = (int)screenSize.getWidth(); 
    int height = (int)screenSize.getHeight(); 
    System.out.println(width +" x "+ height); 
    this.setSize(width,height); 
    Dimension dimTextArea1 = new Dimension((width/2),height); 
    Dimension dimTextArea2 = new Dimension((width/2),height); 
    jTextPane1.setPreferredSize(dimTextArea1); 
    jTextPane2.setPreferredSize(dimTextArea2); 
+1

Вы посмотрели [docs] (http://docs.oracle.com/javase/tutorial/uiswing/)? – tarrsalah

+0

Да, но я не нашел то, что искал. Я новичок в области графики, и все, что я нашел, это jSplitpane, jTextArea и jTextPane. Но мне кажется, что у каждого из них отсутствует одно из моих требований. –

+2

Начните с [Создание пользовательского интерфейса с Swing] (http://docs.oracle.com/javase/tutorial/uiswing/) и посмотрите на [Как использовать таблицы] (http://docs.oracle.com/ javase/tutorial/uiswing/components/table.html) и [Как использовать списки] (http://docs.oracle.com/javase/tutorial/uiswing/components/list.html) – MadProgrammer

ответ

3

Вы можете использовать StyledDocument в JTextPane, иллюстрированные here, usng любой из множества layouts.

image

Добавление: Я хочу ... ширина бок о бок в половине кадра, которые изменяют свой размер, когда кадр расширяется ... Я попыталсяsetSize()иsetPreferredSize().

Не используйтеsetPreferredSize(). Do добавьте свои две текстовые панели в GridLayout(1, 0), что означает «одна строка & какое-то произвольное количество столбцов». После pack() используйте setExtendedState(), как показано на рисунке here.

+1

Если вам нужны дополнительные рекомендации, пожалуйста, отредактируйте свой вопрос, включив в него [sscce] (http://sscce.org/), в котором обнаруживается проблема, с которой вы столкнулись, и комментировать здесь. – trashgod

+0

Последний вопрос (надеюсь). Как только я добавлю эти форматированные строки, мне нужно также удалить некоторые из них из JTextPane. Нужен ли мне JTextPane или StyledDocument? Не существует ли что-то более легкое для добавления/удаления стилизованных строк из текстовой области? Большое спасибо, вы очень помогаете. –

+0

'StyledDocument' - это _model_; 'JTextPane' является _view_ этого _model_. Многие компоненты [принимают ограниченный HTML] (http://docs.oracle.com/javase/tutorial/uiswing/components/html.html). – trashgod