Pourquoi Eclipse dire que “l'existence d'erreurs”, mais ne montre rien dans la console?

J'utilise Eclipse pour compiler un programme et quand je vais pour l'exécuter, il est dit que "l'existence d'erreurs", je le lance, de toute façon, il n'y a pas d'erreurs dans la console et l'application s'exécute un écran vide. Pourquoi est-ce?

Infos supplémentaires: j'ai récemment essayé de changer mon modèle précédent, à partir d'un très brut de forme, en utilisant le GridBagLayout, cependant, je ne suis pas très familier avec l'aide de mises en page. Je soupçonne fortement que le problème réside dans, ou tourne autour, ma mise en page depuis le programme fonctionné correctement avant j'ai essayé de faire des changements.

Voici mes deux classes principales qui impliquent la mise en page, désolé pour qu'il soit sale, j'ai commenté un grand nombre de lignes qui ont travaillé pour le modèle précédent dans le cas où je dois revenir à elle:

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);
}
}
  • Ouvrir le Journal des Erreurs "" pour voir l'Éclipse des erreurs. Ouvrir les "Problèmes" pour voir des problèmes avec votre code ou le processus de construction.
  • peut contenir des erreurs d'un autre classe de votre projet
  • pas besoin de downvote, juste pour mon inexpérience, j'ai fait une recherche préalable avant de venir ici
  • IMO quand j'ai trouvé cela et je sais qu'il y a rien de mal (après avoir examiné les messages), je viens de simplement les ignorer.
  • Pourquoi vous aide setBounds(...) sur le DarkPanel pour le placement des composants, lorsque vous utilisez GridBagLayout comme son Layout Manager ?
  • Bien @nIcEcOw, j'ai choisi ce projet de quelqu'un d'autre qui a fait le plus de l'interface de travail, dont je suis très nouveau, et c'était comme si tous les composants ont été ajoutés sur Darkpanel, qui ensuite a été ajouté au panneau arrière, qui est alors entré dans le panneau Principal. J'ai peut-être tort, je ne suis pas familier avec ce genre de choses. merci pour regarder dans ma question
  • Lorsque le Layout Manager est utilisé, en fait, dans une certaine mesure, le programmeur est pas penser à utiliser setXxX()/setXxXSize() méthodes explicitement (sauf quelques Mises en page comme GroupLayout, Boîte, dans une certaine mesure). Que devient la partie de la Layout préoccupation pour calculer la preferred size de chaque composant et de l'afficher sur la vue. Mais pour le reste vous êtes la PLUPART de BIENVENUE et de GARDER le SOURIRE 🙂
  • Merci @nIcEcOw, comme je l'ai fait, dans ma tête j'ai pensé que je pourrais utiliser le layout manager pour l'un panneau qui a tous les composants; donc, si j'utilise un layout manager pour un groupe, faire tous les panneaux dans cette image, ou l'image elle-même, héritent de cette mise en page spécifique?
  • Nah, seul le JPanel sur lequel il est explicitement définie, pour l'avoir. La mise en page est attaché à un JPanel en utilisant son setLayout(layoutToAttach) méthode. Par défaut, chaque JPanel a un FlowLayout attachée à lui-même. JFramepar défaut est BorderLayout, de sorte que lorsque vous écrivez frame.add(component), il est très bien égal à frame.add(component, BorderLayout.CENTER). Un seul Layout Manager est parfois pas suffisant pour régler les composants de la vue, d'où une approche comme Nested Layout est utilisé tel que décrit ici
  • Nettoyage le projet dans Eclipse corrige ce.

InformationsquelleAutor exit_1 | 2013-07-17