Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
138 / 7 / 1
Регистрация: 31.03.2015
Сообщений: 395
1

Почему однострочный JtextField на полэкрана?

09.11.2015, 23:01. Показов 772. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня какая то непонятная вещь получается с текстовым полем, которое больше похоже на текстовую область(хотя активная лиш одна строка), но занята очень большая область.
Вот код:
Java
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
74
75
76
77
78
79
80
81
import javax.swing.JFrame;
import javax.swing.JTextField;      
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import javax.swing.BoxLayout;
//import javax.swing.Container;
import java.awt.GridLayout; 
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Component;
import java.awt.Container;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.io.*;
 
public class Jr extends JFrame {
    int ind;
    JFrame frame;
    static JLabel label;
    static JPanel contentPane;
    JTextArea textArea;
    JTextField textField;
    
    public Jr() {
    //frame = new JFrame();
    /*frame.setDefaultLookAndFeelDecorated(true);
    frame.setTitle("File Indexator");
    frame.setSize(400, 700);
    //frame.pack();
    //frame.setResizable(false); 
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    //frame.setLayout(new GridLayout(0,1));*/
    contentPane = new  JPanel();
    contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));
    this.add(contentPane);
    label = new JLabel("\n");
    JLabel labe2 = new JLabel("Below are the indexator xml");
    //label.setAlignmentY(Component.CENTER_ALIGNMENT);
    //frame.add(label);
    JButton buttonInd = new JButton("Indexate");
    buttonInd.setAlignmentY(Component.CENTER_ALIGNMENT);
    buttonInd.setHorizontalAlignment(JButton.CENTER);
    JButton convertandrender = new JButton(" Render");
    JButton convertandwrite = new JButton("Writeto File");
    textField=new JTextField(20);
    JButton search = new JButton("Search"); 
    textArea = new JTextArea();  
    textArea.setSize(400,300);    
    textArea.setLineWrap(true);
    textArea.setEditable(true);
    textArea.setVisible(true);
    JScrollPane scroll = new JScrollPane (textArea);
    scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    //frame.setVisible(true); 
    contentPane.add(buttonInd);
    contentPane.add(convertandwrite);
    contentPane.add(convertandrender);
    contentPane.add(label);
    contentPane.add(textField);
    contentPane.add(search);
    contentPane.add(labe2);
    contentPane.add(scroll);}
        
  public static void main(String[] args) {
    Jr frame=new Jr();
    frame.setDefaultLookAndFeelDecorated(true);
    frame.setTitle("File Indexator");
    frame.setSize(400, 700);
    //frame.pack();
    //frame.setResizable(false);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setVisible(true);
    //frame.add(contentPane);
     //frame.setVisible(true); 
  }
}
В чем здесь может быть дело? Lаyout Manager? Может какие то границы ан текстовое поле поставить?
Миниатюры
Почему однострочный JtextField на полэкрана?  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.11.2015, 23:01
Ответы с готовыми решениями:

Asus eee pc - работает полэкрана
Не так давно моя подруга "нечаянно" :gpardon: пролила на свой нетбук вино, вследствии чего...

Не показывает полэкрана у ноутбука, что делать ?
Здравствуйте. Помогите пожалуйста. Сегодня дочь ударила экран ноутбука ложкой, экран стал черным....

Однострочный редактор
Текстовый редактор OLE (One-Line Editor) работает с текстом, состоящим ровно из одной строки...

Однострочный калькулятор
Вроде бы элементарная программа,но появилось затруднение Программа на Си. Обычный калькулятор(+...

10
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
10.11.2015, 07:34 2
Тынц.
Java
1
2
3
4
textField = new JTextField(20);
final Dimension maxSize = textField.getMaximumSize();
maxSize.height = textField.getPreferredSize().height;
textField.setMaximumSize(maxSize);
0
138 / 7 / 1
Регистрация: 31.03.2015
Сообщений: 395
10.11.2015, 14:11  [ТС] 3
Да Я уже нашел:
Java
1
textField.setMaximumSize(textField.getPreferredSize());
В общем еще вопрос - как отцентрировать компоненты в BoxLayout, если они расположены вертикально.
0
53 / 53 / 39
Регистрация: 05.12.2010
Сообщений: 261
10.11.2015, 14:34 4
Для этого пригодятся доки от Oracle.
Добавьте для каждой кнопки и textField такую строку:
Java
1
кнопкаИлиЧеТам.setAlignmentX(Component.CENTER_ALIGNMENT);
0
138 / 7 / 1
Регистрация: 31.03.2015
Сообщений: 395
10.11.2015, 22:09  [ТС] 5
setAlignmentX - я использовал, но это надо применять к каждому компоненту. А как применять к всей групе компонетов, хотя это не так актуально, ибо поодинчоке работает, но это добавляет много лишнего кода.
А почему этот код не работает - правильно я прописав:
Java
1
if (JF.ind!=10) {JF.label.setText("You should wright xml file");};
0
237 / 236 / 72
Регистрация: 02.07.2013
Сообщений: 881
11.11.2015, 07:20 6
Цитата Сообщение от arts1 Посмотреть сообщение
А почему этот код не работает
что значит не работает?
0
53 / 53 / 39
Регистрация: 05.12.2010
Сообщений: 261
11.11.2015, 10:21 7
Цитата Сообщение от arts1 Посмотреть сообщение
но это добавляет много лишнего кода
почитайте все по ссылке - там очень наглядные примеры. В том числе про другие layout менеджеры. Да и к тому же у вас всего несколько кнопок и 1 поле для текста - 5 лишних строчек ваш код ну никак не усложнят
0
138 / 7 / 1
Регистрация: 31.03.2015
Сообщений: 395
11.11.2015, 14:40  [ТС] 8
Это должно быть не if...break, а if...return
Java
1
2
3
if (JF.ind==0) {JF.label.setText("You should wright xml file");
          return;
          };
Ну хорошо что у меня 6-7 компонетов, а если намного больше -- не уж то невозможно отцентрировать все вместе
0
53 / 53 / 39
Регистрация: 05.12.2010
Сообщений: 261
11.11.2015, 15:14 9
arts1, я кидал ссылку на примеры от Oracle. Есть другие layout менеджеры, ими и можете воспользоваться.
0
138 / 7 / 1
Регистрация: 31.03.2015
Сообщений: 395
11.11.2015, 17:17  [ТС] 10
Я думаю даже для 6-7 компонентов - центрировать их по одиночке очень накладно (Boxlayout -по умолчанию для вертикального выравнивания).
А касательно if...return; Если такой блок расположен в методе с типом не void то надо return null; если void -- просто return;
if (JF.ind==0) {JF.label.setText("You should wright xml file");
return null;
};
0
53 / 53 / 39
Регистрация: 05.12.2010
Сообщений: 261
11.11.2015, 18:16 11
прочитайте внимательно доки от Oracle. Там есть менеджеры, где ты в самом начале указываешь расположение компонент. Например, GridBagLayout.
0
11.11.2015, 18:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.11.2015, 18:16
Помогаю со студенческими работами здесь

Однострочный редактор и кодировка
Среда - Visual Studio 2012. Есть однострочный редактор hEdit =...

Однострочный пакетный редактор на си
Алгоритм «Однострочный пакетный редактор» 1. Прочитать (ввести) редактируемую строку. ...

Удаленный однострочный редактор
Всем доброго времени суток, нуждаюсь в помощи... Вот задание лабы - Задание 1. Разработать...

Однострочный и многострочный редактор
Решить задачи в кнопочной форме 1)Даны катеты прямоугольного треугольника. Найти его периметр...

Многострочный документ преобразовать в однострочный заменой \r\n
Привет, помогите плз - есть файл где много строк, надо сделать файл где одна строка, а вместо...

Нужен однострочный компонент с возможностью пролистывания
впервые сталкиваюсь с vba как сделать, чтобы в окошке менялись значения от 1 до 3, например, по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru