DjWarWick:
私は学校のためのプロジェクトをビルドしようとしています。それは、それ以上の効果があり、いくつかのコンボボックスとリストです。今の私は、インターフェイスを構築し、後でユーティリティを実装しようとしています。ここでは、コードは次のようになります。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
class Grafica {
static IUG iug = new IUG("Proiect"); //fereastra aplicatiei
static AAL ascultLista = new AAL(); //ascultatorul selectiei in lista
static AEA ascultOpt = new AEA(); //ascultatorul listelor ascunse
static class IUG extends JFrame {
JPanel optiuni = new JPanel(new GridLayout(3,1));
JList lista;
JComboBox comboDist, comboProd, comboTip;
IUG(String titlu) {
super(titlu);
Container cp = getContentPane();
//marimea ferestrei este setata pe baza rezolutiei ecranului
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
double width = screenSize.getWidth();
double height = screenSize.getHeight();
setSize((int)width/4,(int)height/4);
setLocation((int)width/3,(int)height/3);
cp.setLayout(new BorderLayout());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //se inchide programul daca inchidem fereastra
String luni[] = {"Ianuarie", "Februarie", "Martie", "Aprilie",
"Mai", "Iunie", "Iulie", "August", "Septembrie",
"Octombrie", "Noiembrie", "Decembrie"};
lista = new JList(luni);
lista.setBorder(BorderFactory.createTitledBorder("Lista produselor"));
//lista.setSelectModel(new DefaultListSelectionModel());
//lista.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
lista.addListSelectionListener(ascultLista);
JScrollPane scroll = new JScrollPane(lista); //crearea panoului cu produsele aferente
cp.add(scroll, BorderLayout.WEST);
// crearea unui label unde se descriu produsele
JLabel descriere = new JLabel();
descriere.setBorder(BorderFactory.createTitledBorder("Descrierea produselor"));
cp.add(descriere, BorderLayout.SOUTH);
//Se creeaza listele ascunse ale optiunilor
String tipuri[] = {"LED", "Neon", "Clasice", "Economice"};
String distribuitori[] = {"EMAG", "Flanco", "Altex"};
String producatori[] = {"Philips", "Star-Light", "TP-link"};
comboTip = new JComboBox(tipuri);
comboTip.setBorder(BorderFactory.createTitledBorder("Tipuri becuri"));
comboTip.addItemListener(ascultOpt);
optiuni.add(comboTip);
comboDist = new JComboBox(distribuitori);
comboDist.setBorder(BorderFactory.createTitledBorder("Distribuitori"));
comboDist.addItemListener(ascultOpt);
optiuni.add(comboDist);
comboProd = new JComboBox(producatori);
comboProd.setBorder(BorderFactory.createTitledBorder("Producatori"));
comboProd.addItemListener(ascultOpt);
optiuni.add(comboProd);
cp.add(optiuni,BorderLayout.EAST);
setVisible(true);
}
}
static class AAL implements ListSelectionListener {
public void valueChanged(ListSelectionEvent e) {
JList sursa = (JList)e.getSource();
Object selectie[] = sursa.getSelectedValues();
StringBuffer buff = new StringBuffer();
for(int i = 0; i < selectie.length; i++)
buff.append(selectie[i].toString() + " ");
iug.descriere.setText(buff.toString());
}
}
static class AEA implements ItemListener {
public void itemStateChanged(ItemEvent e) {
iug.descriere.setText(e.getItem().toString());
}
}
public static void main(String args[]) {
}
}
私はそれを実行したときしかし、それは私にこのことを示しています。
Grafica.java:76: error: cannot find symbol
iug.descriere.setText(buff.toString());
^
symbol: variable descriere
location: variable iug of type IUG
Grafica.java:82: error: cannot find symbol
iug.descriere.setText(e.getItem().toString());
^
symbol: variable descriere
location: variable iug of type IUG
Note: Grafica.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Grafica.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
2 errors
すべてのヘルプは大歓迎です。でもGoogleで多くの検索後、私が間違っていたのかを私は本当にカントフィギュア、。
güriösä:
参照は、descriere
(シンボル見つけることができません不足しているiug.descriereをあなたが定義して作成するので、)JLabel descriere
のみconsturctorでIUG(String titlu)
代わりに(のようなクラス属性作るのlista
例)。それは間違っている範囲を。
あなたはresonable IDEを使用している場合、それはあなたがそれに実行する前に、明示的にコンパイルすることなく(まあ、鉱山がした)問題をハイライト表示します。