2013-05-05 5 views
-4

Мне было интересно, как это будет мешать основному классу при вызове, я не нашел подходящего способа сделать основной класс и назвать его в финале.Проблемы с вызовом класса со статическим основным

import java.awt.*; 
    import java.awt.event.*; 
import java.util.*; 
import java.io.*; 
import javax.imageio.*; 
    import javax.swing.*; 


class Converter extends JFrame implements 
KeyListener, ItemListener, MouseListener { 


//insert body here//  


@Override 
     public void paintComponents (Graphics g) {g.drawImage(icon.getImage(), 0, 20, 500,210, this); 
     super.paintComponents (g); 
     Color transparent = new Color (0, true); 
     background.setBackground(transparent); 
     repaint(); 
     background.setVisible(true); 
     pack(); 
     setContentPane(background); 
     background.setLayout(new FlowLayout()); 

     add (background); 
     }  
      } 











    class ShowconverterFrame { 
    public static void main (String args []) { 
     new Converter(); 
     } 
} 

Привет, Я пытаюсь понять, почему это не работает ... любая помощь приветствуется! Он возвращается с «отсутствием основного класса» и что он не может быть объявлен как статический. Я просто добавил этот кусок к телу, и внезапно все перестало работать. Я пытаюсь реализовать JPanel, в котором у меня есть JLabel, который является образом.

+1

Потому что я не получил зарплату от вас, чтобы перейти по вашему коду. –

+0

есть ли способ облегчить вам жизнь? – Potatoesforfish

+0

Да, начинайте и создавайте одну функциональность за раз. Это похоже на очень плохое копирование. И в следующий раз, когда вы зададите здесь вопрос, будьте более конкретным в том, что вы пробовали, и какова ошибка. Также размещайте небольшие биты исполняемого кода. –

ответ

0

Хорошо, прежде всего: есть больше для вашего класса конвертера, справа (Позже отредактируйте: когда я написал это, я имел в виду начальный, более длинный код, который вы опубликовали)? Вы реализовали все методы в этих трех интерфейсах? Если вам не нужны все, я предлагаю вам взглянуть на адаптеры. Вот тема, в которой обсуждаются различия между Listeners и Adapters: What is the difference between listeners and adapters?. Это довольно плохая практика, чтобы реализовать так много интерфейсов с таким количеством методов, чтобы переопределить, если вам не нужны все они.

Теперь, если ваш класс конвертер является полностью функциональным, функциональный класс точки входа должен выглядеть следующим образом:

public class ShowconverterFrame { 
    public static void main (String [] args) { 
     new Converter().setVisible(true); 
    } 
} 

Поместите этот код в отдельный файл .java в том же пакете (названный ShowconverterFrame.java) и запустить его. Кроме того, если вы не используете IDE, Netbeans прост в использовании для новичков, это очень поможет вам. :)

Aaand ... идентификатор серийной версии имеет следующую цель: What is a serialVersionUID and why should I use it?. Как вы можете видеть, это не имеет никакого отношения к ответу на ваш вопрос, но это хорошо знать.

+0

Да, есть больше для моего класса конвертера, у меня были кнопки и панели, прикрепленные к нему. У меня есть адаптеры на них, но я снял полную программу, поскольку я новичок в этом, и люди просили простую работу. Мой основной метод не может быть объявлен статическим. В результате мой главный не будет найден, и программа выйдет. Я не использую IDE. Сейчас я загружаю Netbeans. Спасибо за помощь! – Potatoesforfish

+0

Должен ли я показать все, что поможет? – Potatoesforfish

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