2015-12-15 2 views
0

Есть ли причина, почему getText вызывает error: cannot find symbol внутри прослушивателя действий, показанного в коде? Также, если есть, как бы исправить эту ошибку?Получите текст JButton с помощью прослушивателя действий

class openNewPaneActionListener implements ActionListener 
{ 
    @Override 
    public void actionPerformed(ActionEvent e) 
    { 
     String butSrcTxt = e.getSource().getText(); 
    } 
} 
+0

Покажите нам код где вы добавляете этот слушатель к своему компоненту. –

ответ

6

Существует хороший и простой трюк, вы можете использовать ...

@Override 
public void actionPerformed(ActionEvent e) 
{ 
    String butSrcTxt = e.getActionCommand(); 
} 

Если вы не укажете actionCommand для кнопки, то text кнопки используется вместо.

Теперь, если вы указываете actionCommand свойство для кнопки и вы все еще хотите знать, текст (который кажется странным для меня) вы могли бы использовать что-то больше, как ...

@Override 
public void actionPerformed(ActionEvent e) 
{ 
    Object source = e.getSource(); 
    if (source instanceof JButton) { 
     JButton btn = (JButton)source; 
     String butSrcTxt = btn.getText(); 
    } 

} 
+0

Хороший ответ, поднятый! XD –

+0

У меня есть вопрос для вас @MadProgrammer, у меня есть изображения, хранящиеся на папке в моем сервере, и это место хранится в моей базе данных, я хочу, чтобы получить эти изображения с Java-код с InputStream, но я понятия не имею, как носить его вы могли бы помочь? –

+0

@ProgrammingNewb Имеет ли ваша клиентская программа прямой доступ к вашему серверу, может быть, через сетевой диск? Если нет, вам понадобится какой-то процесс (веб-сервер/сокет/ftp) на сервере, к которому вы подключаетесь (от вашего клиента), и загружаете указанный файл. – MadProgrammer

Смежные вопросы