2013-07-17 2 views
5

Ich verwende Eclipse, um ein Programm zu erstellen, und wenn ich es ausführe, heißt es, dass "Fehler existieren", ich führe es trotzdem aus, es gibt keine Fehler in der Konsole und die Anwendung läuft leer. Warum ist das?Warum sagt Eclipse, dass "Fehler existieren", aber nichts in der Konsole zeigt?

Zusätzliche Informationen: Ich habe kürzlich versucht, mein vorheriges Layout von einer sehr groben Form zu GridBagLayout zu ändern, aber ich bin nicht sehr vertraut mit der Verwendung von Layouts. Ich vermute stark, dass das Problem in meinem Layout liegt oder sich darum dreht, da das Programm richtig funktioniert hat, bevor ich versucht habe, Änderungen vorzunehmen.

Hier ist meine zwei Hauptklassen sind, die das Layout betreffen, sorry für es chaotisch zu sein, sagte ich viele Linien aus, die für das vorherige Layout bei gearbeitet habe ich es wieder zurück:

import java.awt.*; 
import java.sql.SQLException; 
import java.util.LinkedList; 

import javax.swing.ImageIcon; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JLayeredPane; 
import javax.swing.JPanel; 
import javax.swing.Timer; 
import javax.swing.UIManager; 
import javax.swing.border.Border; 
import javax.swing.plaf.ColorUIResource; 

import java.sql.*; 

public class MainDisplay extends JFrame { 

static Toolkit tk = Toolkit.getDefaultToolkit(); 
static int Width = (int)tk.getScreenSize().getWidth(); 
static int Height = (int)tk.getScreenSize().getHeight(); 

//public static JFrame frame = new JFrame(); 
public static JPanel pane = new JPanel(); 


private static String targetIpHolder; 
private static String attackerIpHolder; 
private static int threatLevelHolder; 
private static String numAttacksHolder; 

public static void main (String[] args) { 
new MainDisplay(); 

} 

public MainDisplay() { 


setPreferredSize(new Dimension(Width, Height)); 
setLocation(0,0); 
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
setUndecorated(true); 



//pane.setLayout(gridBag); 
setLayout(new BorderLayout()); 
//add(pane, BorderLayout.CENTER); 
pane.setBounds(0,0, Width, Height); 

pack(); 
setVisible(true); 

ThreatPanel Run = new ThreatPanel(); 
Database Data = new Database(); 

//Create Connection to Database and run query 

Data.createConnection(); 
Data.getData(); 
    try { 
     while(Data.rslt.next()){ 
      Data.process(); 
      targetIpHolder = Data.getTarget(); 
      attackerIpHolder = Data.getAttacker(); 
      threatLevelHolder = Data.getThreat_level(); 
      numAttacksHolder = Data.getNum_attack(); 
      //System.out.println(targetIpHolder); 
      //System.out.println(attackerIpHolder); 
      Run.ShowThreats(); 
      try { 
       Thread.sleep(1000*1); 
      } catch (InterruptedException e) { 

       e.printStackTrace(); 
      } 

     } 
    } catch (SQLException e) { 

     e.printStackTrace(); 
    } 



} 

public static String getTargetIpHolder(){ 
return targetIpHolder; 
} 
public static String getAttackerIpHolder(){ 
return attackerIpHolder; 
} 
public static int getThreatLevelHolder(){ 
return threatLevelHolder; 
} 
public static String getNumAttacks(){ 
return numAttacksHolder; 
} 

} 

import java.awt.Color; 
import java.awt.Font; 
import java.awt.GridBagConstraints; 
import java.awt.GridBagLayout; 
import java.awt.Image; 
import java.awt.image.RenderedImage; 
import java.io.BufferedInputStream; 
import java.io.BufferedReader; 
import java.io.ByteArrayOutputStream; 
import java.io.File; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.net.MalformedURLException; 
import java.net.URL; 


import javax.imageio.ImageIO; 
import javax.swing.Icon; 
import javax.swing.ImageIcon; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
import javax.swing.SwingConstants; 



public class ThreatPanel { 

JPanel BackPanel = new JPanel(); 
//JPanel HeadingBreak = new JPanel(); 
JPanel DarkPanel = new JPanel(); 
//JPanel HeadingBreak = new JPanel(); 
//JPanel HorizontalSplit1 = new JPanel(); 
//JPanel HorizontalSplit2 = new JPanel(); 
//JPanel VerticalSplit = new JPanel(); 

public GridBagLayout gridBag = new GridBagLayout(); 
public GridBagConstraints gbc = new GridBagConstraints(); 


final int TEST = 0; 
final int TEST2 = 100; 
final int TEST3 = 200; 

private String city; 
private String region; 
private String latitude; 
private String longitude; 
private Image img; 
private ImageIcon icon; 

Color severeColor = new Color(225,102,00); 

URL geoLocRetriever; 


//Target area declarations. 
String Client = "CLIENT"; //filler 
JLabel Target = new JLabel("TARGET"); 
JLabel ClientLabel = new JLabel(Client); //filler 
JLabel TargetServerData; 
JLabel ServerID = new JLabel("SERVER ID"); 

//Attacker area declarations. 
JLabel Attacker = new JLabel("ATTACKER"); 
JLabel AttackerData; 
JLabel GeoLocData; 
JLabel GeoLocImg; 
JLabel GeoLocLabel = new JLabel("GEO LOCATION"); 

//Threat Level area declarations. 
JLabel ThreatLevel = new JLabel("THREAT"); 
JLabel ThreatLevelData; 

//Number of Attacks declarations 
JLabel NumberOfAttacks = new JLabel("ATTACKS"); 
JLabel NumberOfAttacksData; 


public ThreatPanel() 
{ 
DarkPanel.setLayout(gridBag); 

TargetServerData = new JLabel(); 
AttackerData = new JLabel(); 
ThreatLevelData = new JLabel(); 
NumberOfAttacksData = new JLabel(); 
GeoLocData = new JLabel(); 
GeoLocImg = new JLabel(); 


BackPanel.setLayout(null); 
BackPanel.setBackground(Color.WHITE); 
BackPanel.setBounds(0,0, MainDisplay.Width, MainDisplay.Height); 
BackPanel.setOpaque(true); 
/* 
HeadingBreak.setBackground(Color.WHITE); 
HeadingBreak.setBounds(0, 80, MainDisplay.Width, 3); 
HeadingBreak.setOpaque(true); 
*/ 
/* 
HorizontalSplit1.setBackground(Color.WHITE); 
HorizontalSplit1.setBounds(0, MainDisplay.Height/2, MainDisplay.Width, 3); 
HorizontalSplit1.setOpaque(true); 
*/ 
/* 
HorizontalSplit2.setBackground(Color.WHITE); 
HorizontalSplit2.setBounds(0, MainDisplay.Height/2+80, MainDisplay.Width, 3); 
HorizontalSplit2.setOpaque(true); 
*/ 
/* 
VerticalSplit.setBackground(Color.WHITE); 
VerticalSplit.setBounds((int)(MainDisplay.Width/1.5), 0, 3, MainDisplay.Height); 
VerticalSplit.setOpaque(true); 
*/ 
//Target area settings. 

Target.setFont(new Font("Arial", Font.BOLD, 85)); 
Target.setForeground(Color.GREEN); 
Target.setBounds(0, 0, ((int)(MainDisplay.Width/1.5)-3), 75); 
Target.setHorizontalAlignment(SwingConstants.CENTER); 
gbc.gridx = 0; 
gbc.gridy = 0; 
gbc.fill = GridBagConstraints.HORIZONTAL; 
DarkPanel.add(Target, gbc); 

ClientLabel.setForeground(Color.WHITE); 
ClientLabel.setFont(new Font("Arial", Font.BOLD, 100)); 
ClientLabel.setBounds(0, 115, ((int)(MainDisplay.Width/1.5)-3), 95); 
ClientLabel.setHorizontalAlignment(SwingConstants.CENTER); 
gbc.gridx = 0; 
gbc.gridy = 1; 
gbc.fill = GridBagConstraints.HORIZONTAL; 
DarkPanel.add(ClientLabel, gbc); 


TargetServerData.setForeground(Color.WHITE); 
TargetServerData.setFont(new Font("Arial", Font.BOLD, 120)); 
TargetServerData.setBounds(0, 230, ((int)(MainDisplay.Width/1.5)-3), 95); 
TargetServerData.setHorizontalAlignment(SwingConstants.CENTER); 
gbc.gridx = 0; 
gbc.gridy = 2; 
gbc.fill = GridBagConstraints.HORIZONTAL; 
DarkPanel.add(TargetServerData, gbc); 

ServerID.setForeground(Color.WHITE); 
ServerID.setFont(new Font("Arial", Font.BOLD, 120)); 
ServerID.setBounds(0, 230, ((int)(MainDisplay.Width/1.5)-3), 95); 
ServerID.setHorizontalAlignment(SwingConstants.CENTER); 
gbc.gridx = 0; 
gbc.gridy = 3; 
gbc.fill = GridBagConstraints.HORIZONTAL; 
DarkPanel.add(ServerID, gbc); 

Attacker.setFont(new Font("Arial", Font.BOLD, 85)); 
Attacker.setForeground(Color.RED); 
Attacker.setBounds(0, (MainDisplay.Height/2)+3, ((int)(MainDisplay.Width/1.5)-3), 75); 
Attacker.setHorizontalAlignment(SwingConstants.CENTER); 
gbc.gridx = 0; 
gbc.gridy = 4; 
gbc.fill = GridBagConstraints.HORIZONTAL; 
DarkPanel.add(Attacker, gbc); 

AttackerData.setForeground(Color.RED); 
AttackerData.setFont(new Font("Arial", Font.BOLD, 70)); 
AttackerData.setBounds(0, ((int)(MainDisplay.Height/1.5)-3), ((int)(MainDisplay.Width/1.5)-3), 75); 
AttackerData.setHorizontalAlignment(SwingConstants.CENTER); 
gbc.gridx = 0; 
gbc.gridy = 5; 
gbc.fill = GridBagConstraints.HORIZONTAL; 
DarkPanel.add(AttackerData, gbc); 

GeoLocData.setFont(new Font("Arial", Font.BOLD, 70)); 
GeoLocData.setForeground(Color.RED); 
GeoLocData.setBounds(0, (int)(MainDisplay.Height/1.2), ((int)(MainDisplay.Width/1.5)-3), 75); 
GeoLocData.setHorizontalAlignment(SwingConstants.CENTER); 
gbc.gridx = 0; 
gbc.gridy = 6; 
gbc.fill = GridBagConstraints.HORIZONTAL; 
DarkPanel.add(GeoLocData, gbc); 

ThreatLevel.setFont(new Font("Arial", Font.BOLD, 85)); 
ThreatLevel.setForeground(Color.GREEN); 
ThreatLevel.setBounds(725, 0, ((int)(MainDisplay.Width/1.5)-3), 75); 
ThreatLevel.setHorizontalAlignment(SwingConstants.CENTER); 
gbc.gridx = 1; 
gbc.gridy = 0; 
gbc.fill = GridBagConstraints.HORIZONTAL; 
DarkPanel.add(ThreatLevel, gbc); 

ThreatLevelData.setFont(new Font("Arial", Font.BOLD, 100)); 
ThreatLevelData.setBounds(725, 105, ((int)(MainDisplay.Width/1.5)-3), 95); 
ThreatLevelData.setHorizontalAlignment(SwingConstants.CENTER); 
gbc.gridx = 1; 
gbc.gridy = 1; 
gbc.fill = GridBagConstraints.HORIZONTAL; 
DarkPanel.add(ThreatLevelData, gbc); 


NumberOfAttacks.setFont(new Font("Arial", Font.BOLD, 85)); 
NumberOfAttacks.setForeground(Color.RED); 
NumberOfAttacks.setBounds(725, (MainDisplay.Height/2)+3, ((int)(MainDisplay.Width/1.5)-3), 75); 
NumberOfAttacks.setHorizontalAlignment(SwingConstants.CENTER); 
gbc.gridx = 1; 
gbc.gridy = 2; 
gbc.fill = GridBagConstraints.HORIZONTAL; 
DarkPanel.add(NumberOfAttacks, gbc); 

NumberOfAttacksData.setFont(new Font("Arial", Font.BOLD, 85)); 
NumberOfAttacksData.setForeground(Color.RED); 
NumberOfAttacksData.setBounds(725, (int) ((MainDisplay.Height/1.5)), ((int)(MainDisplay.Width/1.5)-3), 75); 
NumberOfAttacksData.setHorizontalAlignment(SwingConstants.CENTER); 
gbc.gridx = 1; 
gbc.gridy = 3; 
gbc.fill = GridBagConstraints.HORIZONTAL; 
DarkPanel.add(NumberOfAttacksData, gbc); 

GeoLocLabel.setFont(new Font("Arial", Font.BOLD, 85)); 
GeoLocLabel.setForeground(Color.RED); 
GeoLocLabel.setBounds(0, (MainDisplay.Height/2)+3, ((int)(MainDisplay.Width/1.5)-3), 75); 
GeoLocLabel.setHorizontalAlignment(SwingConstants.CENTER); 
gbc.gridx = 1; 
gbc.gridy = 4; 
gbc.fill = GridBagConstraints.HORIZONTAL; 
DarkPanel.add(GeoLocLabel, gbc); 

GeoLocImg.setBounds(1050, 590, 300, 300); 
GeoLocImg.setHorizontalAlignment(SwingConstants.CENTER); 
gbc.gridx = 1; 
gbc.gridy = 5; 
gbc.gridheight = 2; 
gbc.fill = GridBagConstraints.HORIZONTAL; 
DarkPanel.add(GeoLocData, gbc); 

//Remaining settings. 
/* 
//DarkPanel.setLayout(null); 
//DarkPanel.setBackground(Color.BLACK); 
//DarkPanel.setBounds(3, 3, ((MainDisplay.Width)-6), ((MainDisplay.Height)-6)); 
//DarkPanel.setOpaque(true); 
////DarkPanel.add(Target); 
//DarkPanel.add(HeadingBreak); 
//DarkPanel.add(VerticalSplit); 
//DarkPanel.add(HorizontalSplit1); 
//DarkPanel.add(HorizontalSplit2); 
DarkPanel.add(ClientLabel); 
DarkPanel.add(TargetServerData); 
DarkPanel.add(ThreatLevel); 
DarkPanel.add(ThreatLevelData); 
DarkPanel.add(Attacker); 
DarkPanel.add(AttackerData); 
DarkPanel.add(NumberOfAttacks); 
DarkPanel.add(NumberOfAttacksData); 
DarkPanel.add(GeoLocData); 
DarkPanel.add(GeoLocImg); 
*/ 

BackPanel.add(DarkPanel); 

MainDisplay.pane.add(BackPanel, new Integer(0), 0); 

} 

public void getGeoLoc() 
{ 
String locHolder; 
try { 
    geoLocRetriever = new URL("http://ip-api.com/line/*******"); //+ MainDisplay.getAttackerIpHolder() 
} catch (MalformedURLException e) { 
    e.printStackTrace(); 
} 

InputStream stream = null; 
try { 
    stream = geoLocRetriever.openStream(); 
} catch (IOException e1) { 
    e1.printStackTrace(); 
} 
ByteArrayOutputStream buffer = new ByteArrayOutputStream(); 
if (stream != null) try { 
    final BufferedInputStream input = new BufferedInputStream(stream); 
    final byte[] reader = new byte[16384]; 
    int r = 0; 
    while ((r = input.read(reader, 0, 16384)) != -1) 
     buffer.write(reader, 0, r); 
    buffer.flush(); 
} catch(IOException e) { 
    e.printStackTrace(); 
} finally { 
    if(stream != null) try { 
     stream.close(); 
    } catch(IOException e) { 
     e.printStackTrace(); 
    } 
} 


locHolder = new String(buffer.toByteArray()); 
String[] lines = locHolder.split("\n"); 
//System.out.print(lines[5]); 

city = lines[5]; 
region = lines[4]; 
latitude = lines[7]; 
longitude = lines[8]; 

String temp; 
temp="https://maps.googleapis.com/maps/api/staticmap?center=" +latitude +"," +longitude +"&zoom=7&size=300x300&markers=color:red|label:A|" +latitude +"," +longitude +"&sensor=false"; 
URL mapurl = null; 
try { 
    mapurl = new URL(temp); 
} catch (MalformedURLException e) { 
    e.printStackTrace(); 
} 
try { 
    img = ImageIO.read(mapurl); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
icon = new ImageIcon(img); 
} 

public void ShowThreats(){ 

    String targetEnd = MainDisplay.getTargetIpHolder();  
    TargetServerData.setText(targetEnd); 

    String attackerEnd = MainDisplay.getAttackerIpHolder(); 
    AttackerData.setText(attackerEnd); 

    getGeoLoc(); 
    String geoLocEnd = city + "," + region; 
    GeoLocData.setText(geoLocEnd); 
    GeoLocImg.setIcon(icon); 


    int threatLevelEnd = MainDisplay.getThreatLevelHolder(); 
    //System.out.println(threatLevelEnd); 
    if ((threatLevelEnd > TEST) && (threatLevelEnd < TEST2)){ 
     ThreatLevelData.setText("WARNING"); 
     ThreatLevelData.setForeground(Color.YELLOW); 
    } 
    else if ((threatLevelEnd > TEST2) && (threatLevelEnd < TEST3)){ 
     ThreatLevelData.setText("SEVERE"); 
     ThreatLevelData.setForeground(severeColor); 
    } 
    else if (threatLevelEnd > TEST3){ 
     ThreatLevelData.setText("CRITICAL"); 
     ThreatLevelData.setForeground(Color.RED); 
    } 
    else{ 
     ThreatLevelData.setText("ERROR"); 
     ThreatLevelData.setForeground(Color.PINK); 
    } 

    String numAttacksEnd = MainDisplay.getNumAttacks(); 
    NumberOfAttacksData.setText(numAttacksEnd); 
    //System.out.println(numAttacksEnd); 

} 

} 
+6

Öffnen Sie die Ansicht "Fehlerprotokoll", um Eclipse-Fehler zu sehen. Öffnen Sie die Ansicht "Probleme", um Probleme mit Ihrem Code oder dem Build-Prozess zu sehen. –

+0

könnte Fehler haben ist eine andere Klasse Ihres Projekts – fmodos

+1

keine Notwendigkeit zu Downvote, nur für meine Unerfahrenheit, habe ich vorherige Forschung, bevor Sie hierher kommen –

Antwort

1

Es kann ein JRE-Fehler sein. Klicken Sie mit der rechten Maustaste auf den Projektstamm und wählen Sie Voreinstellungen. Kommen Sie zu installierten JREs und suchen Sie nach einem Fehler. Erstellen Sie auch das Projekt neu und überprüfen Sie Window > Show View > Error Log, wie in einem Kommentar von @Ted Hopp vorgeschlagen.

8

Gehen Sie zu Fenster -> Zeige Ansicht -> Allgemein -> Probleme und Sie werden die Liste der Fehler sehen. In meinem Fall - Ich hatte einen falschen Quellordner in Build Path. Durch das Konfigurieren des Buildpfads wurde das Problem "Fehler ist in Ihrem Projekt vorhanden" behoben. In der 'Probleme' Ansicht - rt klicken Sie auf den Fehler und die schnelle Lösung - dies löste das Problem.

+0

Danke ein Haufen !! –

0

Zum Fenster gehen → Zeige Ansicht → allgemein → Probleme und Sie werden die Liste der Fehler sehen. In meinem Fall fehlten einige der JAR-Dateien im Build-Pfad. Durch das Konfigurieren des Buildpfads wurde das Problem "Fehler ist in Ihrem Projekt vorhanden" behoben. Klicken Sie in der Ansicht "Probleme" mit der rechten Maustaste auf den Fehler und die Schnellkorrektur.

Verwandte Themen