こんにちは、
おそらく私の質問は非常に単純ですが、これは私の初めてのJavaプログラムであり、何をすべきかわかりません。
画像を開くコンボボックスを作成したい。それだけ!
しかし、2つのエラーが発生します。1。メモリ不足2.'' images = new JComboBox(names);''行のJComboBox(E [])へのチェックされていない呼び出し
最初のエラーは、-Xmx1024mコマンドを使用してEclipseで修正しようとしましたが、プログラムはeclipseプラットフォームで実行されますが、javacコマンドを使用してコンパイルしようとすると、エラー2が発生します。最後に、Eclipseから.jarファイルを作成して実行します。 、310の最初の80だけがすべての画像をロードするわけではありません。
すべての画像をロードし、それほど多くのメモリを使用する必要がないようにコードを記述する別の方法はありますか?
誰かが私のコードを修正していただければ幸いです...
どうもありがとう、ウィッシュマスター
私のコードはこれです:
package test;
import java.awt.*;
import java.awt.event.*;
import java.awt.FlowLayout;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JComboBox;
import javax.swing.Icon;
import javax.swing.ImageIcon;
public class ComboBoxTest extends JFrame {
private JComboBox images;
private JLabel label;
private String names[] =
{ "1.P 1.png",
"2.P -1.png", ....so on to 300 images };
private Icon icons[] =
new Icon[] { new ImageIcon( names[ 0] ),
new ImageIcon( names[ 1 ] ), ....so on };
};
public ComboBoxTest() {
super( "Testing JComboBox" );
Container c = getContentPane();
c.setLayout( new FlowLayout() );
images = new JComboBox( names );
images.setMaximumRowCount( 10 );
images.addItemListener(
new ItemListener() {
public void itemStateChanged( ItemEvent e ) {
label.setIcon(
icons[ images.getSelectedIndex() ] );
}
}
);
c.add( images );
label = new JLabel( icons[ 0 ] );
c.add( label);
setVisible(true);
setSize( 500, 500 );
}
public static void main( String args[] )
{
ComboBoxTest app = new ComboBoxTest();
app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )
{
System.exit( 0 );
}
}
);
}
}