2013-07-17 15 views
5

私はEclipseを使用してプログラムをビルドしています。実行すると「エラーがあります」と表示されますが、とにかく実行します。コンソールにエラーが表示されず、アプリケーションで空の画面が表示されます。どうしてこれなの?Eclipseに「エラーはありますがコンソールには何も表示されません」と表示されるのはなぜですか?

追加情報:私は最近、非常に粗雑なフォームからGridBagLayoutを使用するように、以前のレイアウトを変更しようとしていましたが、私はレイアウトの使用に慣れていません。変更を試みる前に、プログラムが適切に機能して以来、私のレイアウトに問題がある、あるいはその周りを回っていることを強く疑う。ここで

レイアウトを必要とする私の2つの主なクラスがあり、それは厄介なことのために申し訳ありませんが、私はそれに戻って復帰しなければならない場合には、以前のレイアウトのために働いていたラインの多くをコメントアウト:

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

Eclipseエラーを表示するには、「エラーログ」ビューを開きます。 「問題」ビューを開いて、コードやビルドプロセスの問題を確認します。 –

+0

はプロジェクトの他のクラスにエラーがある可能性があります – fmodos

+1

私の経験不足のため、私はここに来る前に先の研究をしました –

答えて

1

これはJREエラーである可能性があります。プロジェクトルートを右クリックし、環境設定を選択します。インストールされたJREに行き、エラーを探します。また、プロジェクトを再構築し、@Ted Hoppのコメントで示唆されているように、Window > Show View > Error Logをチェックしてください。

8

[ウィンドウ] - > [表示] - > [一般] - > [問題]を選択すると、エラーの一覧が表示されます。 私の場合、Build Pathに間違ったソースフォルダがありました。ビルドパスを設定すると、「プロジェクトにエラーがあります」という問題が解決されました。 「問題」ビューでは、エラーとクイックフィックスをクリックして問題を解決しました。

+0

ありがとうございました! –

0

ウィンドウに移動→表示表示→一般→問題とエラーの一覧が表示されます。私の場合、JARファイルのいくつかはビルドパス上にありませんでした。ビルドパスを設定すると、「プロジェクトにエラーがあります」という問題が解決されました。 「問題」ビューで、エラーとクイックフィックスを右クリックします。

関連する問題