Большой Воронежский Форум
» Программирование>Непонятки с NetBeans
Teddybear 13:41 09.05.2009
Скачал и установил NetBeans 6.5. Все бы ничего, но отчего-то не вижу вкладки Design, только Source. И панель Palette тоже пустая. В чем засада?
JDK 1.7 установлен. [Ответ]
dn2k4 12:48 10.05.2009
Как проект создавал? [Ответ]
Teddybear 22:23 10.05.2009
dn2k4,
Уже разобрался.. Чтобы появились панели дизайна и палеты, нужно просто создать форму..) (согласен, дятел я..)
Но, раз уж пошла такая пьянка, задам еще вопросец.
Упражнялся в создании простенькой проги, пересчитывающей из 16-ричной системы в десятичную. Как консольное приложение с блоком кода, являющегося частью метода main, все работает. Когда же я создал GUI, используя нетбинс, всегда выдает "0" - т.е. параметр инициализации переменной decim. Интуитивно чувствую, что дело тут в том, что в сгенерированном коде метод jButton1ActionPerformed() объявлен как private. Что сделать, чтобы заработало?

Вот кусок исходника
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String s = jTextField1.getText();

double decim=0;
int ht;
int k;
for(k=s.length();k<=1;k--){
String ch=s.substring(k-1,k);
if(ch.equalsIgnoreCase("a")) ht=10;
else if(ch.equalsIgnoreCase("b")) ht=11;
else if(ch.equalsIgnoreCase("c")) ht=12;
else if(ch.equalsIgnoreCase("d")) ht=13;
else if(ch.equalsIgnoreCase("e")) ht=14;
else if(ch.equalsIgnoreCase("f")) ht=15;
else {ht= Integer.valueOf(ch);}
decim=decim+ht*Math.pow(16,k-1);

}
jLabel2.setText(decim + " decimal");
}

private void jTextField1ActionPerformed(java.awt.event.ActionEv ent evt) {

}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new GUI().setVisible(true);
}
});
}

// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JTextField jTextField1;
// End of variables declaration

}
[Ответ]
dn2k4 23:06 10.05.2009

Сообщение от Teddybear:
for(k=s.length();k<=1;k--){

Кагбе не взлетит. Надо

for(k=s.length(); k>=1; k--) {

Иначе она у тебя попадает в цикл только при односимвольных строках, и при второй итерации ей становится плохо на извлечении подстроки... [Ответ]
Teddybear 23:21 10.05.2009
dn2k4,
Спасибище огромное!!!
Это я сам лажанулся.. В консольном варианте-то все как Вы написали, потому и работает.. [Ответ]
dn2k4 23:23 10.05.2009
... а если строка не односимвольная, то цикл вообще не выполняется и на выходе будет значение инициализации... =) [Ответ]
Teddybear 11:01 11.05.2009
dn2k4,
Спасибо еще раз..
Все заработало. Только вот еще такая засада. jar-файл нормально запускается, если он помещен в папку с латинским названием. Если имя папки на кириллице - выдает exception. Неужто JRE критична к именам папок? [Ответ]
Вверх