2011-11-23 32 views
1

我複製了一個教程程序並作了一些修改,現在當我運行它時什麼也沒有發生。程序在運行時什麼都不顯示

我將java Teqscene鍵入命令提示符,它等待幾秒鐘並顯示輸入新命令的行。該程序編譯罰款和即時新的揮杆,所以我不知道什麼四錯過? anyoun可以告訴這個程序不起作用嗎?

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import javax.swing.event.*; 

public class Teqscene implements ActionListener, ChangeListener 
{ 
    JFrame appFrame; 
    JLabel[] captions = new JLabel[24]; 
    JLabel curScene; 
    JSlider[] sliders = new JSlider[16]; 
    JButton scene1, scene2, scene3, scene4, save, load, connect, address, write;  
    GridBagConstraints[] gridBagConstraints = new GridBagConstraints[60]; 
    Container cPane; 
    public static void main(String args[]) 
    { 
     new Teqscene(); 
    } 
    public void Teqscene() 
    { 
     createGUI(); 
    } 
    public void createGUI() 
    { 
     /*Create a frame, get its contentpane and set layout*/ 
     appFrame = new JFrame("Scene setter"); 
     cPane = appFrame.getContentPane(); 
     cPane.setLayout(new GridBagLayout()); 
     //Arrange components on contentPane and set Action Listeners to each JButton 
     arrangeComponents(); 
     appFrame.pack(); 
     appFrame.setVisible(true); 
    } 
    public void arrangeComponents() 
    { 
     for(int i = 0; i<24; i++) 
     { 
      captions[i] = new JLabel("100%"); 
     } 
     for(int i = 0; i<24; i++) 
     { 
      sliders[i] = new JSlider(JSlider.VERTICAL, 0, 15, 15); 
      sliders[i].addChangeListener(this); 
      sliders[i].setMajorTickSpacing(1); 
      sliders[i].setPaintTicks(true); 
     } 

     scene1 = new JButton("Scene 1"); 
     scene2 = new JButton("Scene 2"); 
     scene3 = new JButton("Scene 3"); 
     scene4 = new JButton("Scene 4"); 
     save = new JButton("Save Scene"); 
     load = new JButton("Load data"); 
     connect = new JButton("Connect to LCU"); 
     address = new JButton("Set LCU IP address"); 
     write = new JButton("Write to LCU"); 

     scene1.addActionListener(this); 
     scene2.addActionListener(this); 
     scene3.addActionListener(this); 
     scene4.addActionListener(this); 
     save.addActionListener(this);  
     load.addActionListener(this); 
     connect.addActionListener(this); 
     address.addActionListener(this); 
     write.addActionListener(this);  

     /*add all initialized components to the container*/ 
     gridBagConstraints[0] = new GridBagConstraints(); 
     gridBagConstraints[0].gridx = 0; 
     gridBagConstraints[0].gridy = 0; 
     gridBagConstraints[0].insets = new Insets(5, 5, 5, 5); 
     cPane.add(scene1, gridBagConstraints[0]); 

     gridBagConstraints[1] = new GridBagConstraints(); 
     gridBagConstraints[1].gridx = 1; 
     gridBagConstraints[1].gridy = 0; 
     gridBagConstraints[1].insets = new Insets(5, 5, 5, 5); 
     cPane.add(scene2, gridBagConstraints[1]); 

     gridBagConstraints[2] = new GridBagConstraints(); 
     gridBagConstraints[2].gridx = 2; 
     gridBagConstraints[2].gridy = 0; 
     gridBagConstraints[2].insets = new Insets(5, 5, 5, 5); 
     cPane.add(scene3, gridBagConstraints[2]); 

     gridBagConstraints[3] = new GridBagConstraints(); 
     gridBagConstraints[3].gridx = 3; 
     gridBagConstraints[3].gridy = 0; 
     gridBagConstraints[3].insets = new Insets(5, 5, 5, 5); 
     cPane.add(scene4, gridBagConstraints[3]); 

     gridBagConstraints[4] = new GridBagConstraints(); 
     gridBagConstraints[4].gridx = 4; 
     gridBagConstraints[4].gridy = 0; 
     gridBagConstraints[4].insets = new Insets(5, 5, 5, 5); 
     cPane.add(curScene, gridBagConstraints[4]); 

     for(int i=5; i<17; i++) 
     { 
      gridBagConstraints[i] = new GridBagConstraints(); 
      gridBagConstraints[i].gridx = i-5; 
      gridBagConstraints[i].gridy = 1; 
      gridBagConstraints[i].insets = new Insets(5, 5, 5, 5); 
      cPane.add(sliders[i-5], gridBagConstraints[i]);   
     } 

     for(int i=17; i<29; i++) 
     { 
      gridBagConstraints[i] = new GridBagConstraints(); 
      gridBagConstraints[i].gridx = i-17; 
      gridBagConstraints[i].gridy = 2; 
      gridBagConstraints[i].insets = new Insets(5, 5, 5, 5); 
      cPane.add(captions[i-17], gridBagConstraints[i]);   
     } 

     for(int i=29; i<41; i++) 
     { 
      gridBagConstraints[i] = new GridBagConstraints(); 
      gridBagConstraints[i].gridx = i-29; 
      gridBagConstraints[i].gridy = 3; 
      gridBagConstraints[i].insets = new Insets(5, 5, 5, 5); 
      cPane.add(sliders[i-29], gridBagConstraints[i]);    
     } 

     for(int i=41; i<53; i++) 
     { 
      gridBagConstraints[i] = new GridBagConstraints(); 
      gridBagConstraints[i].gridx = i-41; 
      gridBagConstraints[i].gridy = 4; 
      gridBagConstraints[i].insets = new Insets(5, 5, 5, 5); 
      cPane.add(captions[i-41], gridBagConstraints[i]);   
     } 

     gridBagConstraints[53] = new GridBagConstraints(); 
     gridBagConstraints[53].gridx = 0; 
     gridBagConstraints[53].gridy = 5; 
     gridBagConstraints[53].insets = new Insets(5, 5, 5, 5); 
     cPane.add(save, gridBagConstraints[53]); 

     gridBagConstraints[54] = new GridBagConstraints(); 
     gridBagConstraints[54].gridx = 1; 
     gridBagConstraints[54].gridy = 5; 
     gridBagConstraints[54].insets = new Insets(5, 5, 5, 5); 
     cPane.add(load, gridBagConstraints[54]); 

     gridBagConstraints[55] = new GridBagConstraints(); 
     gridBagConstraints[55].gridx = 2; 
     gridBagConstraints[55].gridy = 5; 
     gridBagConstraints[55].insets = new Insets(5, 5, 5, 5); 
     cPane.add(connect, gridBagConstraints[55]); 

     gridBagConstraints[56] = new GridBagConstraints(); 
     gridBagConstraints[56].gridx = 3; 
     gridBagConstraints[56].gridy = 5; 
     gridBagConstraints[56].insets = new Insets(5, 5, 5, 5); 
     cPane.add(address, gridBagConstraints[56]); 

     gridBagConstraints[57] = new GridBagConstraints(); 
     gridBagConstraints[57].gridx = 4; 
     gridBagConstraints[57].gridy = 5; 
     gridBagConstraints[57].insets = new Insets(5, 5, 5, 5); 
     cPane.add(write, gridBagConstraints[57]);  
    } 
    public void actionPerformed(ActionEvent e) 
    { 
     if (e.getSource() == save) { 
      save(); 
     } else if (e.getSource() == load) { 
      load(); 
     } else if (e.getSource() == connect) { 
      connect(); 
     } else if (e.getSource() == address) { 
      address(); 
     } else if (e.getSource() == write) { 
      write(); 
     } 
    } 
    public void stateChanged(ChangeEvent e) 
    { 
     for(int i = 0; i<24; i++) 
     { 
      if(e.getSource() == sliders[i]) 
      { 
       //sliders[i].setValue(e.getValue); 
      } 
     } 
    } 
    void save() 
    { 

    } 
    void load() 
    { 

    } 
    void connect() 
    { 

    } 
    void address() 
    { 

    } 
    void write() 
    { 

    } 
} 

回答

3
public void Teqscene() 
{ 
    createGUI(); 
} 

更改這

public Teqscene() 
{ 
    createGUI(); 
} 

這裏的問題是隻有一個對象被創建的主要方法的內部。在創建對象構造函數時被調用。在你的程序中只有默認的構造函數退出。

3

我猜你所擁有的「無效」功能是一個構造函數。確保你沒有在構造函數中指定返回類型。

public static void main(String args[]) 
{ 
    new Teqscene(); 
} 
public void Teqscene() //no return type for a constructor. 
{ 
    createGUI(); 
} 

或者,你可以調用函數(如果它被認爲是一個函數,即使我不建議將其命名這種方式,因爲它是混亂)的主要方法:

new Teqscene().Teqscene(); 
3
public void Teqscene() 

public Teqscene() 

被更換,否則是java的自動生成默認的構造函數和你r方法不會被調用。

相關問題