Creator1
Gebruiker
- Lid geworden
- 10 feb 2011
- Berichten
- 235
Ik probeer een LinkedList te maken maar dat lukt niet. Eclipse geeft continue de foutmelding "The type List is not generic; it cannot be parameterized with arguments <String>". In een ander programma (overgenomen uit een tutorial) werkt het echter wel. Ik heb geen idee wat ik fout doe.
Ik heb dit nodig in een rekenmachine die ik aan het schrijven ben. De plek van de foutmelding is gemarkeerd.
Dit is de code die niet werkt (nog niet af):
Dit is de code die wel werkt (dus die ik heb overgenomen):
Ik kan heet verschil tussen de twee codes niet vinden; ik hoop dat iemand hier er wel iets meer mee kan.
Ik heb dit nodig in een rekenmachine die ik aan het schrijven ben. De plek van de foutmelding is gemarkeerd.
Dit is de code die niet werkt (nog niet af):
Code:
import java.awt.*;
import java.awt.List;
import java.awt.event.*;
import java.awt.List.*;
import java.util.*;
import javax.swing.*;
public class MainGUI extends JFrame{
//fonts
private static final Font ANSWER_FONT = new Font("monspaced", Font.PLAIN, 20);
private static final Font BUTTON_FONT = new Font("monspaced", Font.PLAIN, 13);
//numbers
private JButton b1;
private JButton b2;
private JButton b3;
private JButton b4;
private JButton b5;
private JButton b6;
private JButton b7;
private JButton b8;
private JButton b9;
private JButton b0;
//math operators
private JButton addBtn;
private JButton substractBtn;
private JButton multiplyBtn;
private JButton divideBtn;
//other operators
private JButton plusMinus;
private JButton dot;
private JButton backspace;
private JButton clear;
private JButton clearEntry;
private JButton equalsBtn;
//answer field
private JTextField answerField;
//panels
private JPanel buttonPanel;
private JPanel operatorPanel;
private JPanel content;
//HandlerClass variables
[U] List<String> stringNumberList = new LinkedList<String>();
private String testvar = "Hello";
stringNumberList.add(testvar);[/U]
//MainGUI constructor
public MainGUI() {
super("Calculator");
//answer field
answerField = new JTextField("0");
answerField.setFont(ANSWER_FONT);
answerField.setHorizontalAlignment(JTextField.RIGHT);
answerField.setBackground(Color.WHITE);
answerField.setEditable(false);
//ButtonPanel
buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout(5, 3, 2, 2));
//- Clear, clear entry and backspace buttons
clear = new JButton("C");
clear.setFont(BUTTON_FONT);
buttonPanel.add(clear);
clearEntry = new JButton("CE");
clearEntry.setFont(BUTTON_FONT);
buttonPanel.add(clearEntry);
backspace = new JButton("<--");
backspace.setFont(BUTTON_FONT);
buttonPanel.add(backspace);
//- numeric buttons
b1 = new JButton("7");
b1.setFont(BUTTON_FONT);
buttonPanel.add(b1);
b2 = new JButton("8");
b2.setFont(BUTTON_FONT);
buttonPanel.add(b2);
b3 = new JButton("9");
b3.setFont(BUTTON_FONT);
buttonPanel.add(b3);
b4 = new JButton("4");
b4.setFont(BUTTON_FONT);
buttonPanel.add(b4);
b5 = new JButton("5");
b5.setFont(BUTTON_FONT);
buttonPanel.add(b5);
b6 = new JButton("6");
b6.setFont(BUTTON_FONT);
buttonPanel.add(b6);
b7 = new JButton("1");
b7.setFont(BUTTON_FONT);
buttonPanel.add(b7);
b8 = new JButton("2");
b8.setFont(BUTTON_FONT);
buttonPanel.add(b8);
b9 = new JButton("3");
b9.setFont(BUTTON_FONT);
buttonPanel.add(b9);
//period, negation and zero buttons
plusMinus = new JButton("+/-");
plusMinus.setFont(BUTTON_FONT);
buttonPanel.add(plusMinus);
b0 = new JButton("0");
b0.setFont(BUTTON_FONT);
buttonPanel.add(b0);
dot = new JButton(".");
dot.setFont(BUTTON_FONT);
buttonPanel.add(dot);
//operation buttons (OperatorPanel)
operatorPanel = new JPanel();
operatorPanel.setLayout(new GridLayout(5, 1, 2, 2));
addBtn = new JButton("+");
b1.setFont(BUTTON_FONT);
operatorPanel.add(addBtn);
substractBtn = new JButton("-");
b1.setFont(BUTTON_FONT);
operatorPanel.add(substractBtn);
multiplyBtn = new JButton("x");
b1.setFont(BUTTON_FONT);
operatorPanel.add(multiplyBtn);
divideBtn = new JButton(":");
b1.setFont(BUTTON_FONT);
operatorPanel.add(divideBtn);
equalsBtn = new JButton("=");
b1.setFont(BUTTON_FONT);
operatorPanel.add(equalsBtn);
//content
content = new JPanel();
content.setLayout(new BorderLayout(5,5));
content.add(operatorPanel, BorderLayout.EAST);
content.add(answerField, BorderLayout.NORTH);
content.add(buttonPanel, BorderLayout.CENTER);
content.setBorder(BorderFactory.createEmptyBorder(3,3,3,3));
add(content);
//Event handler
//operatorHandler
OperatorHandler operatorHandler = new OperatorHandler();
addBtn.addActionListener(operatorHandler);
substractBtn.addActionListener(operatorHandler);
multiplyBtn.addActionListener(operatorHandler);
divideBtn.addActionListener(operatorHandler);
equalsBtn.addActionListener(operatorHandler);
//numberHandler
NumberHandler numberHandler = new NumberHandler();
b1.addActionListener(numberHandler);
b2.addActionListener(numberHandler);
b3.addActionListener(numberHandler);
b4.addActionListener(numberHandler);
b5.addActionListener(numberHandler);
b6.addActionListener(numberHandler);
b7.addActionListener(numberHandler);
b8.addActionListener(numberHandler);
b9.addActionListener(numberHandler);
b0.addActionListener(numberHandler);
dot.addActionListener(numberHandler);
//clearHandler
ClearHandler clearHandler = new ClearHandler();
clear.addActionListener(clearHandler);
}
}
Dit is de code die wel werkt (dus die ik heb overgenomen):
Code:
import java.util.*;
public class Class1 {
public static void main(String[] args) {
String[] things = {"apples", "noobs", "pwnge", "bacon", "goats"};
List<String> list1 = new LinkedList<String>();
for (String x : things)
list1.add(x);
String[] things2 = {"sausage", "bacon", "goats", "harrypotter"};
List<String> list2 = new LinkedList<String>();
for (String y : things2)
list2.add(y);
list1.addAll(list2);
list2 = null;
printMe(list1);
removeStuff(list1, 2, 5);
printMe(list1);
reverseMe(list1);
}
//printMe method
private static void printMe(List<String> l) {
for (String b : l)
System.out.printf("%s ", b);
System.out.println();
}
//removeStuff method
private static void removeStuff(List<String> l, int from, int to) {
l.subList(from, to).clear();
}
//reverseMe method
private static void reverseMe(List<String> l) {
ListIterator<String> bobby = l.listIterator(l.size());
while(bobby.hasPrevious())
System.out.printf("%s ", bobby.previous());
}
}
Ik kan heet verschil tussen de twee codes niet vinden; ik hoop dat iemand hier er wel iets meer mee kan.
Laatst bewerkt: