проблемы с addGap (int) в GroupLayout.Group - PullRequest
1 голос
/ 06 мая 2011

Это фрагмент:

JPanel logoPanel=new JPanel();
GroupLayout logoLayout=new GroupLayout(logoPanel);
logoPanel.setLayout(logoLayout);
logoPanel.setHorizontalGroup((GroupLayout.Alignment.BASELINE).addGap(100,100));
logoPanel.setVerticalGroup((GroupLayout.Alignment.BASELINE).addGap(100,100));

Это ошибки, выдаваемые cmd:

MainPageTypo.java:27: cannot find symbol
logoPanel.setHorizontalGroup((GroupLayout.Alignment.BASELINE).addGap(100,100));
                                                            ^
symbol:   method addGap(int,int)
location: class Alignment
MainPageTypo.java:28: cannot find symbol
logoPanel.setVerticalGroup((GroupLayout.Alignment.BASELINE).addGap(100,100));
                                                          ^
symbol:   method addGap(int,int)
location: class Alignment
2 errors

Почему это дает эти ошибки и как я могу их исправить?

Ответы [ 2 ]

3 голосов
/ 06 мая 2011

Я предлагаю вам также исправить фрагмент кода на правильную форму, которая находится в коде, который вы предоставили.

Из того, что я вижу, вы получаете:

IllegalStateException: Baseline must be used along vertical axis

Это означает, что первыйпараллельная группа не может быть создана на базовом уровне, измените ее, например, на LEADING.И это компилируется.

3 голосов
/ 06 мая 2011

Согласно JavaDoc GroupLayout.Group имеет только методы addGap(int) и addGap(int, int, int), поэтому вы либо пропускаете один параметр, либо слишком много.

addGap(100) следуеттаким образом, будет достаточно.

Edit 2:

Вы вызываете addGap(...) для GroupLayout.Alignment, который является перечислением и вообще не предоставляет этот метод: строка 28 содержит (GroupLayout.Alignment.BASELINE).addGap(100,100)

Я думаю, что вы хотите позвонить logoLayout.createParallelGroup(GroupLayout.Alignment.BASELINE) или logoLayout.createSequentialGroup(), чтобы создать группу.

Вы также звоните setHorizontalGroup(...)setVerticalGroup(...)) на JPanel, а не наGroupLayout, который также должен генерировать ошибки.Измените это на logoLayout.setHorizontalGroup( ... );.

Редактировать: краткая подсказка о том, что означает сообщение

symbol:   method addGap(int,int)   //the symbol that is searched for
location: class Alignment   //the symbol (method) is searched in class Alignment or its class hierarchy
MainPageTypo.java:28: cannot find symbol  //the compiler cant find the symbol stated above which is used at line 28 in file MainPageTypo.java 
logoPanel.setVerticalGroup((GroupLayout.Alignment.BASELINE).addGap(100,100)); // this is the content of line 28
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...