これが私のコードです。再描画はここでは何もしません。何か案は?init 後のドロップダウンには項目がないため、ドロップダウンは狭くなっています。テキスト項目を追加した後、幅は同じままです。
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
//user is prompted to enter a semi-colon delimitted text string
public class ChoiceWidth extends Applet implements ActionListener, ItemListener {
private Choice m_Choice = null;
private Button m_Button = null;
private TextField m_Textbox = null;
public void init() {
m_Button = new Button("Add Items");
m_Button.addActionListener(this);
add(m_Button);
m_Choice = new Choice();
m_Choice.addItemListener(this);
add(m_Choice);
m_Textbox = new TextField(40);
add(m_Textbox);
}
public void itemStateChanged(ItemEvent e)
{
String clr=m_Choice.getSelectedItem();
System.out.println("Selected: " + clr);
}
public void actionPerformed(ActionEvent e){
AddItems();
}
private void CreateList(String items) {
String devlist[] = items.split(";");
for(int i = 0; i < devlist.length; ++i) {
m_Choice.add(devlist[i]);
}
m_Choice.repaint(); //I thought this would resize width - but doesn't
}
private boolean AddItems() {
String devs = m_Textbox.getText();
if(!devs.isEmpty()) {
CreateList(devs);
}
return true;
}
}
とhtml
<html>
<body>
Enter a semi-colon delimited text string
<applet code = "ChoiceWidth.class" width="300" height = "60">
</body>
</html>