public Dialogue(Image speaker, String[] lines) { try { // name frame.setTitle(lines[0]); // size this.setPreferredSize(new Dimension(800, lines.length * 20)); // location frame.setLocation( (int) ((GameRunner.getWidthHeight().getExactX() / 2) - 400), (int) ((GameRunner.getWidthHeight().getExactY() / 2) - lines.length * 20)); this.image = speaker; this.lines = lines; frame.add(this); frame.setVisible(true); frame.pack(); frame.repaint(); } catch (Exception e) { LogHandling.logError("Can't show message..." + e); } }