001 package org.openstreetmap.josm.gui.actionsupport; 002 003 import java.awt.Dimension; 004 import java.awt.GridBagLayout; 005 import javax.swing.*; 006 import org.openstreetmap.josm.Main; 007 import org.openstreetmap.josm.data.Preferences; 008 import org.openstreetmap.josm.gui.ExtendedDialog; 009 import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane; 010 import org.openstreetmap.josm.gui.preferences.advanced.AdvancedPreference; 011 import org.openstreetmap.josm.gui.widgets.HtmlPanel; 012 import org.openstreetmap.josm.tools.GBC; 013 014 import static org.openstreetmap.josm.tools.I18n.tr; 015 016 /** 017 * Generic dialog with message and scrolling area 018 * @author Alexei 019 */ 020 public class LogShowDialog extends ExtendedDialog { 021 022 023 public LogShowDialog (String title, String msg, String log) { 024 super(Main.parent, title, new String[] {tr("OK")}); 025 setButtonIcons(new String[] {"ok.png"}); 026 setContent(build(msg, log)); 027 } 028 029 protected JPanel build(String msg, String log) { 030 JPanel p = new JPanel(new GridBagLayout()); 031 JLabel lbl = new JLabel(msg); 032 033 lbl.setFont(lbl.getFont().deriveFont(0, 14)); 034 035 p.add(lbl, GBC.eol().insets(5,0,5,0)); 036 JEditorPane txt = new JEditorPane(); 037 txt.setContentType("text/html"); 038 txt.setText(log); 039 txt.setEditable(false); 040 txt.setOpaque(false); 041 042 JScrollPane sp = new JScrollPane(txt); 043 sp.setOpaque(false); 044 sp.setPreferredSize(new Dimension(600,300)); 045 046 047 p.add(sp, GBC.eop().insets(5,15,0,0).fill(GBC.HORIZONTAL)); 048 049 return p; 050 } 051 } 052 053