2016-01-21 62 views
-1

我有一些我製作的小程序的代碼。更改選擇框的座標

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

public class Main extends Applet { 
    Color clr; 

    public void paint(Graphics g) { 
     clr=new Color(0,68,255); 
      setBackground(clr); 
     g.setColor(new Color(255,255,255)); 
     g.drawString("Select between the numbers.",40,10); 
    } 

    public void init() { 
     char x='\n'; 
     Choice c = new Choice(); 
     c.add("1"); 
     c.add("2"); 
     c.add("3"); 
     add(c); 
    } 
} 

我想設置Choice c的座標,但是當我給的座標,它說,非法座標或類似的東西......你有沒有關於如何解決它的任何想法?

感謝您的任何幫助。

+3

兩個問題應張貼作爲兩個單獨的問題 – Raedwald

+0

好吧...感謝警告:) – bmw

回答

0

如果您想手動定位組件,則必須將小程序的佈局設置爲null,然後您可以使用setLocation()

例如,使用我之前爲您製作的其他question的小程序,您可以使用此代碼。

import java.applet.*; 
import java.awt.*; 
import java.awt.event.*; 

public class Test extends Applet { 
    Color clr; 
    Choice c = new Choice(); 

    public void paint(Graphics g){ 
     clr=new Color(0,68,255); 
     setBackground(clr); 
     g.setColor(new Color(255,255,255)); 
     g.drawString("Select between the numbers.",40,10); 
    } 

    public void init(){ 
     char x='\n'; 
     setLayout(null); 
     c.add("1"); 
     c.add("2"); 
     c.add("3"); 
     c.addItemListener(new CustomItemListener()); 
     c.setLocation(100,100); 
     add(c); 
    } 

    class CustomItemListener implements ItemListener 
    { 
     @Override 
     public void itemStateChanged(ItemEvent e) 
     { 
      if(e.getSource() == c) { 
       if(c.getSelectedItem().equals("1")) { 
        System.out.println("1 is selected in Choice selector c"); 
       } 
      } 
     } 
    } 
} 

這產生了一些看起來像這樣的東西。

Applet with cmd open on top to show output

+0

謝謝丹現在它完美的作品:) – bmw

+0

@bmw很高興我能幫助 – Dan