XHotSniperX
Lt. Junior Grade
- Registriert
- Jan. 2008
- Beiträge
- 472
Hallo
ich habe in nem kleinen Programm ein Problem. Immer wenn ich auf den Knopf klicke, erscheint ein neues Fenster und das häuft sich so an. Wieso ist das überhaupt so?
Das passiert aber z.B. dann nicht, wenn der Catch Block ausgeführt wird! Ich möchte einfach immer nur ein einziges Fenster haben und es sollte nur dann geschlossen werden, wenn man auf X klickt.
Wenn ihr den Code anschauen wollt, dann schaut einfach den anvisierten Teil an(Button) und ab da gehts weiter, dann seht ihr bestimmt warum.
Ausserdem werden zeichen wie "ö" nicht richtig angezeigt. Muss man da was spezielles machen?
Danke euch!
ich habe in nem kleinen Programm ein Problem. Immer wenn ich auf den Knopf klicke, erscheint ein neues Fenster und das häuft sich so an. Wieso ist das überhaupt so?
Das passiert aber z.B. dann nicht, wenn der Catch Block ausgeführt wird! Ich möchte einfach immer nur ein einziges Fenster haben und es sollte nur dann geschlossen werden, wenn man auf X klickt.
Wenn ihr den Code anschauen wollt, dann schaut einfach den anvisierten Teil an(Button) und ab da gehts weiter, dann seht ihr bestimmt warum.
Ausserdem werden zeichen wie "ö" nicht richtig angezeigt. Muss man da was spezielles machen?
Danke euch!
Code:
package Praxis;
import java.awt.BorderLayout;
public class PostleitzahlGui extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private JTextField textField;
private JTextField textField_1;
/**
* Launch the application.
*/
/**
* Create the frame.
*/
public PostleitzahlGui() {
setTitle("Postleitzahl Gui");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
textField = new JTextField();
textField.setFont(new Font("Arial", Font.PLAIN, 14));
textField.setToolTipText("Gib eine Postleitzahl ein!");
textField.setEditable(false);
contentPane.add(textField, BorderLayout.CENTER);
textField.setColumns(10);
JButton btnSuchen = new JButton("Suchen!"); [COLOR="Red"]//HIEEEER[/COLOR]
btnSuchen.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
PostleitzahlGuiSource.eingabe();
}
});
contentPane.add(btnSuchen, BorderLayout.SOUTH);
textField_1 = new JTextField();
textField_1.setToolTipText("Gib bitte eine Postleitzahl ein!");
contentPane.add(textField_1, BorderLayout.NORTH);
textField_1.setColumns(10);
}
public void setText(String text){
textField.setText(text);
}
public String getText(){
String x = textField_1.getText();
return x;
}
}
Code:
package Praxis;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.HashMap;
public class PostleitzahlGuiSource {
final String filename = "plz.txt";
static PostleitzahlGui frame;
HashMap<Integer, String> plzBook;
PostleitzahlGuiSource(){
plzBook = new HashMap<Integer, String>();
try {
frame = new PostleitzahlGui();
frame.setVisible(true);
frame.setText("Jou motherfucker enter your postal Code and I will search!\n");
}
catch (Exception e) {
e.printStackTrace();
}
try {
Scanner scanner = new Scanner( new File(filename) ).useDelimiter( "\t" );
while ( scanner.hasNextLine() ) {
int plz;
String ort;
scanner.next();
scanner.next();
plz = Integer.parseInt(scanner.next());
scanner.next();
ort = (" " +scanner.next());
scanner.nextLine();
plzBook.put(plz, ort);
}
}
catch (FileNotFoundException e) {
frame.setText("Error: " + filename + " not found. Das Programm wird in 5 Sekunden beendet!\n");
try {
Thread.sleep(5000);
}
catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.exit(-1);
}
}
static void eingabe(){
try{
String input = frame.getText();
if(input.equals("q") || input.equals("Q")){
System.out.println("Schönen Tag noch!");
System.exit(-1);
}
else{
int zahl = Integer.parseInt(input);
PostleitzahlGuiSource buch = new PostleitzahlGuiSource();
if(buch.plzBook.containsKey(zahl)){
frame.setText("Diese PLZ gehört: " +buch.plzBook.get(zahl) +"\n");
}
else
frame.setText("Sowas gibts nicht!\n");
}
}
catch(NumberFormatException e){
frame.setText("HAHAHAHAHAHAHA funny now try again!\n");
}
}
public static void main(String[] args) {
new PostleitzahlGuiSource();
}
}