init
This commit is contained in:
commit
0cb25ef1ce
BIN
Uebungsklausur 2018.pdf
Normal file
BIN
Uebungsklausur 2018.pdf
Normal file
Binary file not shown.
9
products.csv
Normal file
9
products.csv
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
Bleisitft h2; 0.75
|
||||||
|
Bleistift h3; 0.75
|
||||||
|
Bleistift h4; 0.75
|
||||||
|
Kugelschreiber rot fein; 1.11
|
||||||
|
Kugelschreiber blau fein; 1.11
|
||||||
|
Textmarker gelb; 1.23
|
||||||
|
Textmarker grün; 1.25
|
||||||
|
Permanentmarker sw; 2.11
|
||||||
|
Permanentmarker rt; 2.11
|
|
5
products2.csv
Normal file
5
products2.csv
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Keyboard de; 12.55
|
||||||
|
Keyboard en; 13.55
|
||||||
|
Mouse bluetooth; 32.12
|
||||||
|
Mouse standard; 7.22
|
||||||
|
Mouse wireless; 14.44
|
|
8
src/Application.java
Normal file
8
src/Application.java
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
public class Application {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
OrderFrame bf = new OrderFrame();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
106
src/OrderFrame.java
Normal file
106
src/OrderFrame.java
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
import javax.swing.*;
|
||||||
|
import javax.swing.event.ListSelectionEvent;
|
||||||
|
import javax.swing.event.ListSelectionListener;
|
||||||
|
import javax.swing.filechooser.FileNameExtensionFilter;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.io.*;
|
||||||
|
import java.util.Vector;
|
||||||
|
|
||||||
|
public class OrderFrame extends JFrame {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private ProductPanel productPanel = new ProductPanel();
|
||||||
|
private JButton buttonOpen = new JButton("Open");
|
||||||
|
|
||||||
|
private Vector<Product> bla = new Vector();
|
||||||
|
private JList list;
|
||||||
|
|
||||||
|
// TODO: Add property for products
|
||||||
|
|
||||||
|
public OrderFrame() {
|
||||||
|
this.setTitle("Lukas HEiligenbrunner");
|
||||||
|
this.add(buttonOpen, BorderLayout.NORTH);
|
||||||
|
this.add(productPanel);
|
||||||
|
|
||||||
|
JFrame _this = this;
|
||||||
|
buttonOpen.addActionListener(e -> {
|
||||||
|
System.out.println("Btn clicked!");
|
||||||
|
|
||||||
|
JFileChooser chooser = new JFileChooser(new File("."));
|
||||||
|
FileNameExtensionFilter filter = new FileNameExtensionFilter("CSV Images", "csv");
|
||||||
|
chooser.setFileFilter(filter);
|
||||||
|
|
||||||
|
int returnVal = chooser.showOpenDialog(_this);
|
||||||
|
if (returnVal == JFileChooser.APPROVE_OPTION) {
|
||||||
|
System.out.println("You chose to open this file: " + chooser.getSelectedFile().getName());
|
||||||
|
try {
|
||||||
|
openFileAndFillToListBox(chooser.getSelectedFile().getName());
|
||||||
|
list.repaint();
|
||||||
|
} catch (WrongFileFormatException ee) {
|
||||||
|
ee.printStackTrace();
|
||||||
|
bla.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
try {
|
||||||
|
openFileAndFillToListBox("products.csv");
|
||||||
|
} catch (WrongFileFormatException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
bla.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
list = new JList(bla);
|
||||||
|
list.addListSelectionListener(new ListSelectionListener() {
|
||||||
|
@Override
|
||||||
|
public void valueChanged(ListSelectionEvent e) {
|
||||||
|
|
||||||
|
productPanel.setData(bla.get(e.getLastIndex()));
|
||||||
|
System.out.println("something was selected" + e.getLastIndex());
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.add(list, BorderLayout.WEST);
|
||||||
|
|
||||||
|
|
||||||
|
this.setSize(600, 400);
|
||||||
|
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
|
this.setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void openFileAndFillToListBox(String filename) {
|
||||||
|
bla.clear();
|
||||||
|
File myfile = new File(filename);
|
||||||
|
try {
|
||||||
|
BufferedReader reader = new BufferedReader(new FileReader(myfile));
|
||||||
|
|
||||||
|
while (reader.ready()) {
|
||||||
|
String str = reader.readLine();
|
||||||
|
String[] stringsiarri = str.split(";");
|
||||||
|
|
||||||
|
if (stringsiarri.length != 2) {
|
||||||
|
System.out.println("error occured");
|
||||||
|
throw new WrongFileFormatException("too many rows");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
Float.parseFloat(stringsiarri[1]);
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
// no float in csv
|
||||||
|
throw new WrongFileFormatException("Wrong data type in csv");
|
||||||
|
}
|
||||||
|
|
||||||
|
Product tempproduct = new Product(stringsiarri[0], stringsiarri[1]);
|
||||||
|
bla.add(tempproduct);
|
||||||
|
}
|
||||||
|
|
||||||
|
reader.close();
|
||||||
|
} catch (FileNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
24
src/Product.java
Normal file
24
src/Product.java
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
public class Product {
|
||||||
|
private String Name;
|
||||||
|
private String Price;
|
||||||
|
|
||||||
|
public Product(String name, String price) {
|
||||||
|
Name = name;
|
||||||
|
Price = price;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Product() {}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return Name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPrice() {
|
||||||
|
return Price;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return Name;
|
||||||
|
}
|
||||||
|
}
|
46
src/ProductPanel.java
Normal file
46
src/ProductPanel.java
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
import java.awt.BorderLayout;
|
||||||
|
import java.awt.GridLayout;
|
||||||
|
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JTextField;
|
||||||
|
|
||||||
|
class ProductDetails extends JPanel {
|
||||||
|
private static final long serialVersionUID = 8069232875557223123L;
|
||||||
|
|
||||||
|
private JLabel lblName = new JLabel("Name:");
|
||||||
|
private JLabel lblPreis = new JLabel("Preis:");
|
||||||
|
private JTextField tfName = new JTextField();
|
||||||
|
private JTextField tfPrice = new JTextField();
|
||||||
|
|
||||||
|
public ProductDetails() {
|
||||||
|
this.setLayout(new GridLayout(2,2));
|
||||||
|
tfName.setHorizontalAlignment(JTextField.RIGHT);
|
||||||
|
tfPrice.setHorizontalAlignment(JTextField.RIGHT);
|
||||||
|
this.add(lblName);
|
||||||
|
this.add(tfName);
|
||||||
|
this.add(lblPreis);
|
||||||
|
this.add(tfPrice);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setData(Product p){
|
||||||
|
tfName.setText(p.getName());
|
||||||
|
tfPrice.setText(p.getPrice());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ProductPanel extends JPanel {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = -8222745310953362748L;
|
||||||
|
|
||||||
|
private ProductDetails pProduktDetails = new ProductDetails();
|
||||||
|
|
||||||
|
public ProductPanel() {
|
||||||
|
this.setLayout(new BorderLayout());
|
||||||
|
this.add(pProduktDetails, BorderLayout.NORTH);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setData(Product p){
|
||||||
|
this.pProduktDetails.setData(p);
|
||||||
|
}
|
||||||
|
}
|
5
src/WrongFileFormatException.java
Normal file
5
src/WrongFileFormatException.java
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
public class WrongFileFormatException extends RuntimeException{
|
||||||
|
public WrongFileFormatException(String message) {
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user